如何以编程方式向 contentPlaceHolder 添加内容?

2024-01-04

我有一个母版页,我的所有页面都继承它。 对于格式设置,我想将一页与另一页不同的内容放置在 ContentPlaceHolder 中。

现在,我怎样才能将所有内容插入其中?由于我计划用数据库中的内容填充 ContentPlaceHolder 我想我必须以编程方式执行此操作。

  1. 如何向 ContentPlace Holder 添加控件? 我检查了其他answers https://stackoverflow.com/questions/291037/set-aspcontentplaceholder-content-programatically,但我无法通过其 ID 访问它。

  2. 我应该从一开始就使用多个 ContentPlaceHolders 吗?假设我想放电影。是否应该只有一个包含所有图像、描述和评级,或者每件事都有一个 ContentPlaceHolder?

我对其他解决方案持开放态度,因为我没有 ASP 经验。


老问题......但我刚刚遇到这个问题,这是谷歌上不断出现的#1帖子,所以我想添加我的答案,因为其他人在我的情况下不起作用。

这是我在常规时的做法<asp:Content不起作用(尽管在正常使用中,答案@JayC就是你如何做到这一点):

母版页有这个ContentPlaceHolder:

<asp:ContentPlaceHolder ID="ScriptsPlace" runat="server"></asp:ContentPlaceHolder>

必须从用户控件动态添加一些 JavaScript。尝试使用ContentPlaceHolder直接报这个错误:

解析器错误消息:内容控件必须是顶级控件 在内容页或引用母版的嵌套母版页中 页。

所以我想从代码隐藏中添加脚本。这是页面加载.ascx file:

protected void Page_Load(object sender, EventArgs e)
{
    ContentPlaceHolder c = Page.Master.FindControl("ScriptsPlace") as ContentPlaceHolder;
    if (c != null)
    {
        LiteralControl l = new LiteralControl();
        l.Text="<script type=\"text/javascript\">$(document).ready(function () {js stuff;});</script>";
        c.Controls.Add(l);
    }
}

UPDATE:所以事实证明我不得不在比我预期更多的地方使用它,并最终使用了一种更灵活/可读的方式。在用户控件本身中,我只是包装了 javascript 以及需要使用常规移动的其他任何内容div.

<div id="_jsDiv" runat="server">
    $(document).ready(function() {
         //js stuff
    });
    Other server controls or HTML junk
</div>

然后后面的代码会找到那个div,然后将其移动到ContentPlaceHolder.

protected void Page_Load(object sender, EventArgs e)
{
    ContentPlaceHolder c = Page.Master.FindControl("ScriptsPlace") as ContentPlaceHolder;
    HtmlGenericCOntrol jsDiv = this.FindControl("_jsDiv") as HtmlGenericControl;
    if (c != null && jsDiv != null)
    {
        c.Controls.Add(jsDiv);
    }
}

我实际上将此代码放在自定义用户控件中,并且我只是让常规用户控件继承自自定义用户控件,因此一旦我用 a 包装 javascript/etc<div id="_jsDiv" runat="server">,自定义用户控件会处理其余的事情,我不必在用户控件后面的代码中执行任何操作。

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

如何以编程方式向 contentPlaceHolder 添加内容? 的相关文章

  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • 从同一个类中的另一个构造函数调用构造函数

    我有一个带有两个构造函数的类 C 这是代码片段 public class FooBar public FooBar string s constructor 1 some functionality public FooBar int i
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • C# 存档中的文件列表

    我正在创建一个 FileFinder 类 您可以在其中进行如下搜索 var fileFinder new FileFinder new string C MyFolder1 C MyFolder2 new string
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 有没有办法在 ASP.net 中制作像 gmail 那样的进度条?

    有没有办法在 ASP net 中制作像 gmail 那样的进度条 以下是一些基于 ASP NET 的进度栏控件 ASP NET AJAX 进度条控件 http mattberseth com blog 2008 05 aspnet ajax
  • WPF DataGridTemplateColumn 组合框更新所有行

    我有这个 XAML 它从 ItemSource 是枚举的组合框中选择一个值 我使用的教程是 http www c sharpcorner com uploadfile dpatra combobox in datagrid in wpf h
  • 使 Guid 属性成为线程安全的

    我的一个类有一个 Guid 类型的属性 该属性可以由多个线程同时读写 我的印象是对 Guid 的读取和写入不是原子的 因此我应该锁定它们 我选择这样做 public Guid TestKey get lock testKeyLock ret
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • GCC 的“-Wl,option”和“-Xlinker option”语法之间有区别吗?

    我一直在查看一些配置文件 并且看到它们都被使用 尽管在不同的体系结构上 如果您在 Linux 机器上使用 GCC 将选项传递给链接器的两种语法之间有区别吗 据我所知 阅读 GCC 手册时 他们的解释几乎相同 From man gcc Xli
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有

随机推荐

  • 如何将哈希转换为 JSON,且转换后的字符串不包含反斜杠

    我正在使用将哈希值转换为 JSONto json 但转换后的字符串充满了反斜杠 如果我使用puts 它显示正确的字符串 但如果我传入一个HTTP NET request body 字符串中充满了反斜杠 data a gt b c gt d
  • 从 CSV 数据流 python 创建字典

    我正在尝试从 python 中的 csv 数据创建一个字典 我不想使用传统的 split 然后使用将行重命名为我想要的标题 因为我将收到具有不同格式的不同 csv 文件信息量很大 而且我将无法使用该方法一致地定位我想要的行 标头名称将是一致
  • Drupal 从 Twitter 导入推文作为节点

    我希望能够将我的推文作为 Nndes 从 twitter 导入到 Drupal 中 我希望能够链接 names and tags返回正确的页面 我也不希望 myTweeterName 出现在推文的开头 你会怎样做呢 twitter 模块不创
  • 使用 javascript 计算日期与开始日期和天数

    我正在尝试根据开始日期和天数计算日期 因此基本上将天数添加到开始日期并获取结束日期 问题是我得到了一些奇怪的结果 但只有一次约会 我已经花了几天时间试图弄清楚这个结果 其功能是 CallculateDateFromDays function
  • 如何使表格水平滚动并固定第一列和最后一列

    我下面有这张表 我希望它可以滚动 水平方向 但我想要表格的第一列和最后一列 是固定的 而中间的列是可滚动的 关于如何做的任何想法 来完成这个 我想在没有任何插件的情况下执行此操作 JavaScript 我的 css 位于 html 之后 谢
  • 适用于 iOS (xcode) 的 LZMA SDK 解压缩使用过多 RAM

    我正在尝试在 iPhone iPad 应用程序中使用 LZMA SDK 我的起点是 Mo Dejong 提供的 iPhone 的 LZMA 示例项目 可在此处获取 https github com jk lzmaSDK https gith
  • Clojure 的“core.logic”中的目标排序

    以下 Clojure 代码 https gist github com 4525736 uses core logic以两种不同的顺序解决具有相同目标的相同逻辑问题 这种排序选择会导致一个很快完成 另一个则挂起 use clojure co
  • 格式化 Carbon 日期实例

    我有一个返回以下日期时间的数组 item created at gt 2015 10 28 19 18 44 如何将日期更改为M d Y在 Laravel 中使用 Carbon 格式化 目前它返回错误 suborder payment da
  • 使用 Logback SizeAndTimeBasedFNATP 时如何限制每天的文件数量

    使用Logback SizeAndTimeBasedFNATP触发策略时 如何限制每天的文件数量 例如 在任何一天 我都不希望拥有超过 100MB 的日志 鉴于每个日志 在下面的示例中 为 20MB 我希望能够将每天的最大限制设置为 5 个
  • 如何在下拉列表中选择完整的日历月份和年份

    我有一个完整的日历 我需要在下拉列表中显示它的月份和年份 我知道这个问题已经被问过 但仍然没有得到解答 我是完整日历的新手 据我所知 它现在已更新 希望有一些最简单的方法来实现 而不是给它 gotodate 选项 我已经为日历创建了代码笔
  • 在 WebForms 应用程序中验证AntiForgeryToken

    我已经阅读了一些有关使用的内容ValidateAntiForgeryToken防止 XSRF CSRF 攻击 然而我所看到的似乎只与 MVC 有关 这些是我看过的文章 ValidateAntiForgeryToken 目的 解释和示例 ht
  • 禁用整个页面的 UpdateProgress

    我已经检查过这个解决方案 有没有办法禁用某些异步回发的 UpdateProgress https stackoverflow com questions 6299072 is there a way to disable updatepro
  • Jenkins 工作流程:如何获取或设置步骤 ID

    我们想引用 Jenkins 工作流程并行任务中的一个步骤 但似乎对于多个并行任务中的步骤创建的步骤 ID 是不确定的 对于输入步骤 可以手动指定步骤 ID 是否可以为 shell 步骤指定步骤 id 或查询步骤 id 目的是我们希望在并行任
  • 使用 jquery 和 canvas 从 html 元素 id 到另一个 html 元素绘制线条

    html和jquery是否可以只通过引用元素id来画一条线 我在文本中有一个重要的单词 并且想在该单词和描述它的图像之间画一条线 我已经看到可以使用画布在元素之间进行绘制 但它们的样式位置设置为绝对 由于我的元素是文本中的单词 因此我无法将
  • Windows 运行时组件中无法继承?

    设想 我的 Windows 运行时组件项目中有 3 个类 A B C class A public sealed class B A public sealed class C A 编译上面的代码 我得到以下内容error 可访问性不一致
  • 如何检查 pandas 数据框中的字符串值序列并输出后续内容

    我正在尝试检查数据框中 B B B 的顺序 d A A B C D B B B A A E F B B B F A A testdf pd DataFrame data d array seq pd Series B B B for i i
  • 为什么 cerr 输出比 cout 快?

    使用 cout 需要多一点时间来输出语句 这对我来说不太好 但是当使用 cerr 时 输出速度更快 为什么 只是想帮忙 cout gt 常规输出 控制台输出 cerr gt 错误输出 控制台错误 cout 是缓冲的 而 cerr 不是 因此
  • 在 MYSQL 搜索中使用 URL 参数

    我正在尝试为产品建立一个搜索页面 其中我有两个表产品和库存 我在产品中有我的产品详细信息 在库存中有库存详细信息 如颜色 尺寸 价格等 请提出一个解决方案 我真的陷入困境 我需要一个更好的解决方案来实现强大的设计 以下是所有必要的详细信息
  • Spring RMI 远程注解配置

    我已经为此寻找了一段时间 但似乎找不到答案 我正在使用 Spring RMI 远程处理 并且我想使用注释配置 这可能吗 据我所知 spring 没有基于标准注释的 RMI 支持 我碰到这个链接 http rpgkan blogspot in
  • 如何以编程方式向 contentPlaceHolder 添加内容?

    我有一个母版页 我的所有页面都继承它 对于格式设置 我想将一页与另一页不同的内容放置在 ContentPlaceHolder 中 现在 我怎样才能将所有内容插入其中 由于我计划用数据库中的内容填充 ContentPlaceHolder 我想