重新加载局部视图

Reload Partial View

我在 ajax 成功后重新加载部分视图时遇到问题。我的部分视图存储在

<div id="partial">@Html.Partial("_Departments", Model)</div>

这在部门视图的索引中

我正在尝试这个(显然行不通)

$("#partial").load('@Url.Action("Index", "_Departments")');

如何重新加载局部视图,其他一切都很好,因为当我刷新页面时我得到了预期的结果。

谢谢

在我的一位同事的帮助下完成了这项工作...

在我的控制器中,对于 Json 响应中的部分视图,我必须 return html。

return Json(new { Success = true, Msg = "Field successfully added", html = RenderPartialViewToString("_IndexTable", returnModel) }, JsonRequestBehavior.AllowGet);

还必须使用 RenderPartialViewToString

的方法创建一个 BaseController class
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();
        }
    }

最后在我看来必须添加以下行

$("#partial").html(data.html);