mvc ajax刷新部分视图,关于jquery:Ajax HTTPPost之后的MVC刷新部分视图

我尝试在Ajax HttpPost之后更新部分视图。

这是部分视图的控制器:

public PartialViewResult BrtMagazzino(DataMagazzino m)

{

if (Session["Data"] != null)

{

DateToView dt = (DateToView)Session["Data"];

ViewBag.comm = dt.commSelected.COMMITTENTE;

ViewBag.corriere ="Bartolini";

}

return PartialView(m);

}

这是包含部分视图的代码:

@{

Html.RenderAction("BartoliniMagazzino","Partial", new { m = item });

}

这是按钮的代码:

这是单击此按钮的代码:

$(function () {

$('.btnBordero').on('click', function (event) {

event.preventDefault();

_self = $(this);

var uf = new FormData();

uf.append('corriere', _self.data('corriere'));

uf.append('magazzino', _self.data('magazzino'));

uf.append('committente', _self.data('committente'));

var url ="/Partial/SaveBordero";

$.ajax({

type:"POST",

url: url,

contentType: false,

processData: false,

data: uf,

error: function (ts) { alert(ts.responseText)

},

success: function (result) {

$("#view-Bartolini").html(result);

}

});

});

});

SaveBordero函数有以下代码:

[HttpPost]

public ActionResult SaveBordero(FormCollection form)

{

DataMagazzino dt = new DataMagazzino();

// Do something

return PartialView("BartoliniMagazzino", new { m = dt });

}

一切正常,但是当我在SaveBordero函数中调用返回的PartialView时,ajax调用总是进入错误部分。 我不知道如何成功并更新局部视图

在您的Ajax调用中删除dataType: 'json',。这代表你从服务器得到的东西,它不是json而是html。

你在服务器端代码中设置了一个断点吗?好像在后端抛出了一个错误

删除@derloopkat建议的数据类型属性。 jquery将使用响应头猜测dataType并处理它。

我尝试将dataType:'html'或删除dataType但它不会更改结果

我在返回的最后一次返回时放了一个断点,一切正常但是当ajax返回时它总是进入错误状态

这意味着您还有一些其他问题导致代码被抛出错误。您从网络电话中得到了什么回应?可以200好吗?

错误的文本是"对象引用未设置为对象的实例"但我无法理解在哪里

有些东西缺失了,有些东西应该省略。例如,删除contentType:false。此外,您可能会遇到缓存调用的问题,因此很难获得更新的错误结果。所以,添加以下行:$ .ajaxSetup({cache:false});在$ .ajax({"line。以及cache,false,在ajax调用中;你真的应该只需要1或者另一个。另外,请确保你的站点没有设置为应用程序URL:" localhost / mysite / controller / action"。这将导致您没有点击您尝试访问的控制器方法。

问题出在这一行:return PartialView("BartoliniMagazzino", new { m = dt });

如果我调用一个新的模型,这是一个匿名类型,系统不会重新调整它。

我只是写了解决它:return PartialView("BartoliniMagazzino", dt);

谢谢大家

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值