【问题标题】:MVC: C#: display content of a contentPlaceholder twiceMVC:C#:两次显示 contentPlaceholder 的内容
【发布时间】:2011-01-15 18:24:47
【问题描述】:

我正在编写一个 MVC C# 应用程序。我使用 masterPage 并且有 其他页面的标题和内容放在 contentPlaceholders 中,分别是 显示在母版页上。

在 MasterPage 上,我希望将 TitleContent 写在

标记中 在 部分(在

标签中)。

我不被允许这样做,因为某些奇怪的原因你不被允许 在一个页面上使用相同的 contentPlaceholder 两次。

到目前为止,我一直在使用 (FindControl("TitleContent").Controls[0] as LiteralControl).Text

标记中,在我开始添加动态内容之前效果很好 到 TitleContent 占位符(例如 C# 代码)。

如何将此内容显示两次?

【问题讨论】:

    标签: c# master-pages contentplaceholder


    【解决方案1】:

    如果您要显示的文本位于 ViewData 或您的视图绑定到的模型中,您也许可以根据需要多次访问它并将其设置在视图/母版页上的任何元素上。

    【讨论】:

      【解决方案2】:

      如果您存储必要的字符串,您可以拥有模型视图类。然后使用上述类的类型使您的视图成为强类型。最后在标签内制作

      <title><%=Model.PageName%></title>
      

      <h1> <%=Model.PageName%></h1>
      

      希望对你有帮助。

      【讨论】:

      • 感谢两位的回答。问题是我正在为一些应该像插件一样工作的独立 Web 应用程序制作母版页。我希望母版页的界面尽可能简单,因此只需将模块放在视图目录下的文件中即可加载(例如,我不希望它们与文件外的代码混淆)。基本上,一个模块应该只提供一个标题和内容占位符。 Web 应用程序已经编写好了,我只是想将它们收集到一种工具箱中 :-)
      • 如果你找到答案,请写在这里:)。
      猜你喜欢
      • 2010-11-17
      • 1970-01-01
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-03
      • 2012-07-21
      • 2017-03-22
      相关资源
      最近更新 更多