关于ContentPlaceHolder与Content控件

关于ContentPlaceHolder与Content控件定义:ContentPlaceHolder控件:在ASP.NET母版页中定义内容区域。Content控件:保存文本、标记和服务器控件以呈现给母版页中的ContentPlaceHolder控件。两者关系:ContentPlaceHolder控件在母版页中定义相对内容区域,并呈现在内容页中找到的相关的Content控件的所有文本、标记和服务器控件。

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

定义:

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.net/158477.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • voliate 关键字「建议收藏」

    voliate 关键字「建议收藏」voliatecpu术语定义术语英文单词术语描述内存屏障cachebarriers处理器的指令,用于实现对内存操作的顺序限制原子操作atomicopers不可中断的一个操作缓存行填充cachelinefill当处理器识别到内存的读操作是可缓存的,处理器读取整个缓存行到适合的缓存(L1,L2,L3)缓存命中cachehit当进行高速缓存行填充的内存位置不变时,处理器从缓存中读取,而非内存写命中writehitpp写

    2022年6月3日
    63
  • spark shuffle参数调优

    spark shuffle参数调优

    2021年11月27日
    47
  • 来看看视频种子骗局[通俗易懂]

    来看看视频种子骗局1,都是很难下载的资源2,以1080BulRay命名3,文件大小集中在1G左右4,以xmous结尾(应该是作者为了好识别)5,都有官方宣传图片(Cover.jpg)和说明txt文件

    2022年4月17日
    41
  • shell创建文件

    shell创建文件创建文件夹shell脚本#!/bin/bashdir="/root/test_dir"if[!-d"$dir"];thenmkdir$direcho"创建文件夹成功"elseecho"文件夹已经存在"fi添加可执行权chmod+xtest_file.sh创建文件shell脚本#!/bin/bashfileP…

    2022年6月18日
    34
  • 学习分享——location.hash的用法「建议收藏」

    学习分享——location.hash的用法「建议收藏」【学习分享】location.hash的用法location对象:设置或获取当前URL的信息使用location对象可以设置或返回URL中的一些信息,一个完整的URL地址的格式为:协议://主机:端口

    2022年7月4日
    28
  • SQL中IS NOT NULL与!=NULL的区别

    SQL中IS NOT NULL与!=NULL的区别平时经常会遇到这两种写法:ISNOTNULL与!=NULL。也经常会遇到数据库有符合条件!=NULL的数据,但是返回为空集合。实际上,是由于对二者使用区别理解不透彻。默认情况下,推荐使用ISNOTNULL去做条件判断,因为SQL默认情况下对WHEREXX!=Null的判断会永远返回0行,却不会提示语法错误。这是为什么呢?SQLServer文档中对Null值的

    2022年6月9日
    65

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号