如何使对JSON在控制器局部视图(How to render partial view in con

2019-07-31 00:02发布

我不知道我该怎么渲染时在JsonResult在我的控制器使用的局部视图?

return Json(new
{
    Html = this.RenderPartialView("_EditMovie", updatedMovie),
    Message = message
}, JsonRequestBehavior.AllowGet);

}

Answer 1:

RenderPartialView是呈现一个视图作为一个自定义扩展方法string

它没有提到的文章中 (你有什么最初提到),但你会发现它在连接到物品的示例代码。 它可以在\助手\ Reders.cs找到

这是问题的方法的代码:

public static string RenderPartialView(this Controller controller, 
    string viewName, object model)
{
    if (string.IsNullOrEmpty(viewName))
        viewName = controller.ControllerContext.RouteData
            .GetRequiredString("action");

    controller.ViewData.Model = model;
    using (var sw = new StringWriter())
    {
        ViewEngineResult viewResult = ViewEngines.Engines
            .FindPartialView(controller.ControllerContext, viewName);
        var viewContext = new ViewContext(controller.ControllerContext, 
            viewResult.View, controller.ViewData, controller.TempData, sw);
        viewResult.View.Render(viewContext, sw);

        return sw.GetStringBuilder().ToString();
    }
}


文章来源: How to render partial view in controller for Json