我在ajax成功后重新加载部分视图时遇到问题。我的部分视图存储在
中<div id="partial">@Html.Partial("_Departments", Model)</div>
这是在部门视图的索引
我正在尝试这个(显然不起作用)
$("#partial").load('@Url.Action("Index", "_Departments")');
如何重新加载局部视图,其他一切都很好,因为当我刷新页面时,我得到了预期的结果。
由于
答案 0 :(得分:0)
在我的同事的帮助下得到了这个......
在我的控制器中,我必须在Json响应中返回部分视图的html。
return Json(new { Success = true, Msg = "Field successfully added", html = RenderPartialViewToString("_IndexTable", returnModel) }, JsonRequestBehavior.AllowGet);
还必须使用 RenderPartialViewToString
的方法创建一个BaseController类public string RenderPartialViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(this.ControllerContext, viewName);
var viewContext = new ViewContext(this.ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(this.ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
我的视图中的finally必须添加以下行
$("#partial").html(data.html);