你可以这样做:
在document.ready() 中调用您的Action,它将以字符串形式返回您的部分视图,然后您可以在jquery 中使用replace() 替换此结果:
Ajax 调用:
$(document).ready(function() {
$.ajax({
url: "/ControllerName/ActionName",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) {
$("#placeholder").replaceWith(data);
}
});
});
控制器:
[HttpPost]
public JsonResult ActionName(ModelType model)
{
......
return Json((RenderRazorViewToString("PartialViewName", model)), JsonRequestBehavior.AllowGet);
}
[NonAction]
public string RenderRazorViewToString(string viewName, object model)
{
ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData, TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}