如何在控制器中为 Json 渲染部分视图
Posted
技术标签:
【中文标题】如何在控制器中为 Json 渲染部分视图【英文标题】:How to render partial view in controller for Json 【发布时间】:2012-08-14 14:52:19 【问题描述】:如何渲染部分视图以在控制器的 JsonResult 中使用?
return Json(new
html = this.RenderPartialView("_EditMovie", updatedMovie),
Message = message
, JsonRequestBehavior.AllowGet);
【问题讨论】:
【参考方案1】:RenderPartialView
是一种自定义扩展方法,它将视图呈现为string
。
没有提到in the article(您最初提到的),但您可以在文章所附的示例代码中找到它。 它可以在 \Helpers\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();
【讨论】:
你在说什么文章? 如果我使用 apicontroller 会怎样以上是关于如何在控制器中为 Json 渲染部分视图的主要内容,如果未能解决你的问题,请参考以下文章