gpt4 book ai didi

asp.net - 从母版页调用 Html.RenderPartial

转载 作者:行者123 更新时间:2023-12-04 08:39:50 26 4
gpt4 key购买 nike

这是一个场景:假设我的站点有两个 Controller ,负责显示不同类型的内容 - 页面和文章。我需要将部分 View 嵌入到我的主页中,该主页将列出按某些条件过滤的页面和文章,并显示在每个页面上。我无法在我的主页上设置模型(对吗?)。如何使用 Html.RenderPartial 解决此任务?

[编辑]
是的,我可能会为列出文章和页面创建单独的部分 View ,但仍然存在一个障碍,我不能也不应该在母版页上设置模型。我需要以某种方式说“这是页面”作为我的渲染部分和文章的论据。在母版页中使用数据库中的数据渲染部分的整个概念对我来说有点模糊。

最佳答案

如何创建一个 HtmlHelper 扩展方法,允许您在 Controller 上的操作上调用部分 View 结果。

就像是

 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()) %>

并在您的 Controller 中使用适当的方法
public PartialViewResult RenderPartial()
{

return PartialView("~/Path/or/View",_homeService.GetModel())
}

好吧,那是我的 2 美分

关于asp.net - 从母版页调用 Html.RenderPartial,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com