MVC Refresh Partial View after Ajax HTTPPost
我尝试在Ajax HttpPost之后更新部分视图。
这是部分视图的控制器:
1 2 3 4 5 6 7 8 9 10 | 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); } |
这是包含部分视图的代码:
1 2 3 | @{ Html.RenderAction("BartoliniMagazzino","Partial", new { m = item }); } |
这是按钮的代码:
1 | <input class='btn btn-info btnBordero' type='button' value='Salva Borderò' data-corriere="@ViewBag.corriere" data-magazzino="@Model.NomeMagazzino" data-committente="@ViewBag.comm" /> |
这是单击此按钮的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | $(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函数有以下代码:
1 2 3 4 5 6 7 | [HttpPost] public ActionResult SaveBordero(FormCollection form) { DataMagazzino dt = new DataMagazzino(); // Do something return PartialView("BartoliniMagazzino", new { m = dt }); } |
一切正常,但是当我在SaveBordero函数中调用返回的PartialView时,ajax调用总是进入错误部分。 我不知道如何成功并更新局部视图
问题出在这一行:
如果我调用一个新的模型,这是一个匿名类型,系统不会重新调整它。
我只是写了解决它:
谢谢大家