次のように実行できます。
あなたの部分的なビューを文字列として返すdocument.ready()
呼び出しで、jquery を使用してこの結果を置き換えることができます。Action
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();
}
}