ContentPlaceHolders:重复内容

2023-12-28

Scenario

我有一个使用 asp.net 母版页的应用程序,我想在其中重复页面顶部和底部的一些内容。目前我使用这样的东西:

Master Page
<html>
  <body>
    <asp:ContentPlaceHolder ID="Foo" runat="server">
    </asp:ContentPlaceHolder>
    <!-- page content -->
    <asp:ContentPlaceHolder ID="Bar" runat="server">
    </asp:ContentPlaceHolder>
  </body>
</html>
Content Page
<asp:Content ID="Top" ContentPlaceHolderID="Foo" runat="server">
  <!-- content -->
</asp:Content>
<asp:Content ID="Bottom" ContentPlaceHolderID="Bar" runat="server">
  <!-- content repeated -->
</asp:Content>

维护

如您所知,在代码中重复某些内容通常不好。它会产生维护问题。以下是我想做的,但由于重复的 id 属性显然不会工作:

Master Page
<html>
  <body>
    <asp:ContentPlaceHolder ID="Foo" runat="server">
    </asp:ContentPlaceHolder>
    <!-- page content -->
    <asp:ContentPlaceHolder ID="Foo" runat="server">
    </asp:ContentPlaceHolder>
  </body>
</html>
Content Page
<asp:Content ID="Top" ContentPlaceHolderID="Foo" runat="server">
  <!-- content (no repetition) -->
</asp:Content>

可能的?

有没有办法使用 ASP.NET WebForms 来做到这一点?解决方案不一定必须与上述内容相似,只需以相同的方式工作即可。

Notes

我在 Visual Studio 2008 中使用 asp.net 3.0


嘿,如果有人仍然需要解决方案,这就是我所做的: 将其放入母版页的代码文件中

protected override void RenderChildren(HtmlTextWriter writer)
{
    Control mainPlaceHolder = FindControl("MainContentPlaceHolder");
    Control doublePlaceHolder = FindControl("ContentDoublePlaceHolder");

    StringBuilder sb = new StringBuilder();

    using (StringWriter sw = new StringWriter(sb))
    using (HtmlTextWriter tw = new HtmlTextWriter(sw))
    {
        mainPlaceHolder.RenderControl(tw);
    }

    LiteralControl lc = new LiteralControl(sb.ToString());
    doublePlaceHolder.Controls.Add(lc);

    base.RenderChildren(writer);
}

我不确定这里的性能问题,但它确实有效。

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

ContentPlaceHolders:重复内容 的相关文章

随机推荐

  • 如何知道MKMapView的visibleMapRect是否包含坐标?

    如果我有 MKMapView 和 CLLocationCooperative2D 如何测试地图的可见区域是否包含坐标 最快的方法是使用内置的苹果功能 这将使此类事情变得超级快 if MKMapRectContainsPoint mapVie
  • 附加操作按钮在 Flask-admin 上不起作用

    我正在尝试向 Flask admin 表单添加一项操作 它必须增加评级 1 并且它适用于批量操作 但不适用于单个操作 请帮我找到这个错误 我花了很多时间试图让这个东西正常工作 这是代码 我在 templates 文件夹中制作了一个 html
  • 我可以更改 Azure Function Event Hub 触发器启动检查点吗?

    当我使用新的消费者组建立一个新的 Azure Function 来侦听我们的事件中心时 它会获取曾经发送到事件中心的所有消息 甚至是几个月前的消息 我认为将集线器上的消息保留设置为一天会限制这一点 但显然不是 不管怎样 我真的只希望新的 A
  • 收到“未安装 qmlscene”。 “Ubuntu”上“QT CREATOR”中的警告

    我将 QTStatic 添加到 QT 版本 但我无法使用此版本在套件选项卡中构建和设置 我上传了下面的屏幕截图 请帮助 版本选项卡屏幕截图 https i stack imgur com rpaGB jpg 套件选项卡屏幕截图 https
  • 如何在 Rails 视图中呈现所有评论?

    我是 Rails 新手 所以放轻松 我创建了一个博客 我已成功实施评论并将其附加到每个帖子中 现在 我想在侧边栏中显示所有帖子的最新评论列表 我认为这里涉及两件事 对comment controller rb的更新 然后是从实际页面的调用
  • postgresql - 替换文本字段中字符串的所有实例

    在 postgresql 中 如何替换数据库列中字符串的所有实例 假设我想替换所有实例cat with dog 例如 最好的方法是什么 你想使用 postgresql 的replace http www postgresql org doc
  • Ant 任务

    我现在看到 Ant 既有
  • 如何访问iOS中的弱链接框架?

    我想在 iOS 5 上使用 Twitter 框架 但能够在旧操作系统中运行我的应用程序 我在 Xcode 4 2 Target 设置中添加了弱引用框架 即设置 可选 标志 基础 SDK 是 iOS 5 iOS 部署目标是 iOS 3 2 接
  • 如何将第三方 npm 包与 ember cli 应用程序一起使用

    EDIT 这实际上是关于任何不适合与 ember 一起使用的 npm 包 就我而言 我尝试让 crypto js 工作 但对于任何不是专门为 ember cli 设计的 npm 包来说 似乎总是遇到同样的问题 我想在我的 ember 应用程
  • Python 错误代码已升级

    考虑一个 python 脚本 error py import sys sys exit 3 Invoking python error py echo 产生预期的 3 但是 考虑 runner py import os result os
  • 在 Android 应用程序中使用个人证书

    我希望用户能够在从生成证书的网站安装后将他们自己的个人证书安装到我的 Android 应用程序中 但是当我使用 WebClient 或 Android 浏览器浏览它时 安全存储会弹出并安装它 在版本 14 Android 4 0 之前 AP
  • 带返回值的动态 Linq 表达式

    我需要创建一个动态 linq 表达式 然后我开始使用许多示例 我测试了一些工作 有些没有 在这种情况下 我想创建一个如下所示的方法 public bool Check int intvar if i gt 2 return true els
  • Laravel 4:调用未定义的方法 Redis::connection()

    我对这个错误快要疯了 我有一个 Debian 7 的 vagrant VM 用 Puphpet 生成 安装得很好 1 Redis已安装并运行 redis server在跑 我可以使用服务器127 0 0 1 6379 2 安装php5 re
  • Code First:Fluent api 会影响 UI 吗?

    我正在读 Julie Lerman 写的一本关于 Code First 的书 根据这本书 注释和 Fluent api 给出相同的结果 一切都取决于开发人员的风格 我知道注释允许配置代码如何首先生成数据库对象以及 MVC 如何自定义 UI
  • 点击事件后关闭汉堡菜单

    我有一个汉堡菜单 几乎完整 只有 1 个我无法弄清楚的错误 问题 我的导航链接到主页上的不同区域 因此 在主页上 用户可以单击导航链接 这将立即将他们带到页面上的所需位置 我的问题是因为没有加载 所以一旦用户单击导航链接 他们就会被带到该位
  • 使用 secure_random 在 rspec 中存根随机值

    我正在尝试为我的 gem 编写规范 它生成 otp 并将其保存在数据库中 现在我正在为其编写规格 所以基本上我有三种方法generate otp regenerate otp verify otp otp what generate otp
  • angular2 TypeError:无法设置未定义的属性“名称”

    我有一个 Angular2 项目 在 Mac OS 上创建并运行 但是当我在Windows上git它时 它无法运行 在 Chrome 中 我收到此错误 core umd js 3491 EXCEPTION Uncaught in promi
  • 使用 fillcolor 节点增强 BGL write_graphviz make_label_writer

    我想用自定义颜色填充某些节点的颜色 那么图形的顶点属性中是否有自定义属性设置或重新实现自定义函子 make edges writer include
  • Kubernetes 部署和初始化容器

    I 最近学到的 https stackoverflow com questions 44233242 kubernetes cluster and phoenix automate mix ecto migrate 44233465 442
  • ContentPlaceHolders:重复内容

    Scenario 我有一个使用 asp net 母版页的应用程序 我想在其中重复页面顶部和底部的一些内容 目前我使用这样的东西 Master Page