从母版页调用 Html.RenderPartial

2024-03-06

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

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


如何创建一个 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 美分

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从母版页调用 Html.RenderPartial 的相关文章

随机推荐

  • 设置 Oracle JDBC 瘦客户端的语言

    我想在实际创建 JDBC 连接之前为其指定语言 例如 如果我在中指定了错误的 L P 凭证 DriverManager getConnection url user password 我需要得到ORA错误已本地化为我选择的语言 我使用 Or
  • 具有多个窗口的 SDL 2.0 退出事件

    我正在使用 SDL 2 0 并决定尝试制作多个窗口 不幸的是 现在我无法退出程序而不返回 IDE 并强制关闭它 事件处理尽可能简单 我只轮询退出事件 并且在添加第二个窗口之前它工作得很好 使用多个窗口时是否会忽略退出事件 如果是这样 我怎样
  • 页面重新加载后断点

    页面重新加载后我需要在断点处停止 我在代码中放置了一个断点 但重新加载后它被禁用 putting debugger 在代码中工作正常 但我想知道是否有办法在 firebug 或 chrome 开发工具中做到这一点 可能是您的页面 url 中
  • Eureka检测服务状态

    Context 我们使用 Spring Cloud Netflix 和 Eureka 作为服务发现 使用 Zuul 来代理服务并对其进行负载平衡 微服务使用NodeJS实现 并使用NPM模块注册到Eurekaeureka js 客户端 ht
  • 查询数据集

    我正在将 XML 文件中的数据读取到强类型中DataSet 数据最终存放在多个表中 我可以对其运行查询来创建非规范化视图以显示在DataGrid 输入示例
  • 如何在处理过程中更新 OpenGL 中的显示?

    距离我上次使用 OpenGL 已经过去一年多了 所以我对这个话题已经很生疏了 我正在对一张图像进行一些处理 具体来说是颜色聚类 并且我想在每次循环迭代后更新图像 这样我就可以看到发生的变化 而不是在处理完成后看到变化 这就是目前正在发生的情
  • 使用 SQL FileStream 发生内存泄漏

    我有一个使用 SQL FILESTREAM 来存储图像的应用程序 我插入一个LOT图像数量 每天数百万张图像 一段时间后 机器停止响应 似乎内存不足 查看 PC 的内存使用情况 我们没有看到任何进程占用大量内存 无论是 SQL 还是我们的应
  • 未修饰的 JDialog 边框

    我有一个关于未装饰的边界的问题JDialog使用Metal L F 查看此图片以查看此窗口上的边框 我正在尝试弄清楚如何消除或更改最外侧的蓝色边框的颜色JDialog 我查看了 UI 默认值Look Feel但我无法想出任何对此有用的方法
  • F# 中的 Seq.unfold 解释

    我正在尝试使用 F 懒惰地创建一个序列 该序列定义如下 序列的第 n 项 三角形数由下式给出 tn 1 2n n 1 所以前十个三角形 编号是 1 3 6 10 15 21 28 36 45 55 这是我到目前为止所拥有的 但它似乎不起作用
  • Mysql“VALUES 函数”已弃用

    这是我的 python 代码 它打印 sql 查询 def generate insert statement column names values format table name items insert template INSE
  • 自动化 VMWare 或 VirtualPC

    我目前正在尝试使用构建脚本 并且由于我有一个受源代码控制的 ASP net Web 部件 因此我的构建脚本应该在最后执行此操作 从网络获取 裸 Windows 2003 IIS VMWare 或 Virtual PC 映像 启动它 将文件从
  • CSS 背景图像带旋转、重复和不透明度

    我正在尝试用图像制作一个漂亮的背景 但我希望重复图像以填充屏幕 不透明度设置为 0 5 并旋转 45 度 我尝试了很多方法来实现这一目标 但没有成功 有人有主意吗 在此 Codepen 中 我将图像旋转且不透明 但无法使背景重复工作 bac
  • javascript 中可点击多个 css 类

    我怎样才能做到甚至 toggle cart 也可以像 clickerHeader 一样点击 但保留其悬停效果 见箭头 请参见http jsfiddle net realitylab STE48 3 http jsfiddle net rea
  • 通过 REST 调用停止 TeamCity 构建

    是否可以通过 REST API 取消当前正在运行的构建 我有一个集成 可以获取当前正在运行的构建 如果给定类型的构建失败 我想终止它们 我知道如何列出给定类型的失败构建 然后如何传递停止命令 从 TeamCity 8 1 开始 可以停止使用
  • 检查和删除 Java HashMap 中的元素

    我正在尝试使用 Java 中的 HashMap 检查并删除元素 它的键是我创建的称为 ClusterKey 的类型 它的值是我创建的称为 ClusterValue 的类型 这是导致问题的代码 ClusterKey ck new Cluste
  • EditText setText 不显示在对话框片段上

    我对 Android 应用程序开发有点陌生 不知道如何调试 所以我尝试在 DialogFragment 上执行 EditText setText 它在日志上打印出正确的字符串 但仍然显示基于 xml 文件的旧字符串 在此处输入项目 有什么办
  • 分支的 Git 日志占位符

    是否有任何占位符用于显示 git 提交所在的分支名称 pretty format 在 git log 和 git show 中 Like H用于提交哈希 Add the git log decorate它将显示分支 标签等 如果您还想记录以
  • 如何使用 dplyr::select_if 选择非数字列

    我需要选择所有非数字列 我可以使用轻松选择所有数字列select if mtcars gt select if is numeric 如果我想选择怎么办non numeric列 我试过 mtcars gt select if is nume
  • 文本分类方法?支持向量机和决策树

    我有一个训练集 我想使用分类方法根据我的训练集对其他文档进行分类 我的文档类型是新闻 类别是体育 政治 经济等 我完全理解朴素贝叶斯和KNN 但是SVM和决策树很模糊 我不知道我是否可以自己实现这个方法 或者有使用这种方法的应用程序吗 我可
  • 从母版页调用 Html.RenderPartial

    这是一个场景 假设我的网站有两个控制器 负责显示不同类型的内容 页面和文章 我需要将部分视图嵌入到我的母版页中 该母版页将列出按某些条件过滤的页面和文章 并显示在每个页面上 我无法在我的主页上设置模型 我是对的吗 如何使用 Html Ren