如何创建一个 HtmlHelper 扩展方法,该方法允许您在控制器上的操作上调用部分视图结果。
就像是
public static void RenderPartialAction<TController>(this HtmlHelper helper, Func<TController, PartialViewResult> actionToRender)
where TController : Controller, new()
{
var arg = new TController {ControllerContext = helper.ViewContext.Controller.ControllerContext};
actionToRender(arg).ExecuteResult(arg.ControllerContext);
}
然后你可以在你的母版页中使用它,比如
<% Html.RenderPartialAction((HomeController x) => x.RenderPartial()) %>
并在您的控制器中使用适当的方法
public PartialViewResult RenderPartial()
{
return PartialView("~/Path/or/View",_homeService.GetModel())
}
好吧,那是我的 2 美分