前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于ContentPlaceHolder与Content控件

关于ContentPlaceHolder与Content控件

作者头像
全栈程序员站长
发布2022-09-14 10:12:14
6770
发布2022-09-14 10:12:14
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

定义:

ContentPlaceHolder 控件:在 ASP.NET 母版页中定义内容区域。

Content控件:保存文本、标记和服务器控件以呈现给母版页中的 ContentPlaceHolder 控件。

两者关系:

ContentPlaceHolder 控件在母版页中定义相对内容区域,并呈现在内容页中找到的相关的 Content 控件的所有文本、标记和服务器控件。

Content 控件使用其ContentPlaceHolderID 属性与 ContentPlaceHolder 关联。将 ContentPlaceHolderID 属性设置为母版页中相关的 ContentPlaceHolder 控件的ID属性的值。

通 俗的来讲,ContentPlaceHolder 控件是个容器控件,用来存放内容,但是如果它放在母板页中,那么它的内容页就需要使用Content控件来指定ContentPlaceHolder控件 (好像一个指针一样,通过 ContentPlaceHolderID 属性来指定)来放置内容。

注意:

ContentPlaceHolder控件如果放在母版页中,那么它的内容页是通过Content控件来链接,是可编辑的。

但是Content控件如果放在母板页中,那么它的内容页中没有东西来对其进行链接,是不可编辑的。

举例:

母版页一的代码:

  1. <</SPAN>span style=“font-size:18px;”><</SPAN>span style=“font-size:13px;”><</SPAN>headrunat=“server”>
  2. <</SPAN>title>演示</</SPAN>title>
  3. <</SPAN>asp:ContentPlaceHolder id=“head” runat=“server”>
  4. </</SPAN>asp:ContentPlaceHolder>
  5. </</SPAN>head>
  6. <</SPAN>body>
  7. <</SPAN>form id=“form1” runat=“server”>母版页演示
  8. <</SPAN>div>
  9. <</SPAN>asp:ContentPlaceHolder id=“ContentPlaceHolder1” runat=“server”>
  10. </</SPAN>asp:ContentPlaceHolder>
  11. </</SPAN>div>
  12. </</SPAN>form>
  13. </</SPAN>body></</SPAN>span>
  14. </</SPAN>span>

母版页一的内容页的代码:

  1. <</SPAN>span style=“font-size:18px;”><</SPAN>span style=“font-size:13px;”><</SPAN>asp:ContentID=“Content1” ContentPlaceHolderID=“head” Runat=“Server”>
  2. </</SPAN>asp:Content>
  3. <</SPAN>asp:Content ID=“Content2” ContentPlaceHolderID=“ContentPlaceHolder1” Runat=“Server”>
  4. </</SPAN>asp:Content></</SPAN>span>
  5. </</SPAN>span>

母版页二的代码(二级母版页,继承自母版页一):

  1. <</SPAN>span style=“font-size:18px;”><</SPAN>span style=“font-size:13px;”><</SPAN>asp:ContentID=“Content1” ContentPlaceHolderID=“head” Runat=“Server”>
  2. </</SPAN>asp:Content>
  3. <</SPAN>asp:Content ID=“Content2” ContentPlaceHolderID=“ContentPlaceHolder1” Runat=“Server”>
  4. </</SPAN>asp:Content></</SPAN>span>
  5. </</SPAN>span>

母版页二的内容页的代码:没有代码,是空白。

问题:这样的话二级母版页的内容页就不能进行编辑,如何解决呢?

解决:我们只需在二级母版页中添加ContentPlaceHolder控件即可。

举例:上面的母版页二,我们更改后:

  1. <</SPAN>span style=“font-size:18px;”><</SPAN>span style=“font-size:13px;”><</SPAN>asp:ContentID=“Content1” ContentPlaceHolderID=“head” Runat=“Server”>
  2. <</SPAN>asp:ContentPlaceHolder ID=“ContentPlaceHolder1” runat=“server”>
  3. </</SPAN>asp:ContentPlaceHolder>
  4. </</SPAN>asp:Content></</SPAN>span>
  5. </</SPAN>span><</SPAN>span style=“font-size:13px;”><</SPAN>asp:Content ID=“Content2”ContentPlaceHolderID=“ContentPlaceHolder1” Runat=“Server”>
  6. <</SPAN>asp:ContentPlaceHolder ID=“ContentPlaceHolder2” runat=“server”>
  7. </</SPAN>asp:ContentPlaceHolder>
  8. </</SPAN>asp:Content>
  9. </</SPAN>span>

母版页二的内容页变为:

  1. <</SPAN>span style=“font-size:13px;”><</SPAN>asp:Content ID=“Content1”ContentPlaceHolderID=“ContentPlaceHolder1” Runat=“Server”>
  2. </</SPAN>asp:Content>
  3. <</SPAN>asp:Content ID=“Content2” ContentPlaceHolderID=“ContentPlaceHolder2” Runat=“Server”>
  4. </</SPAN>asp:Content>
  5. </</SPAN>span>

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/158477.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档