博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ContentPlaceHolder与Content控件
阅读量:5059 次
发布时间:2019-06-12

本文共 2416 字,大约阅读时间需要 8 分钟。

 

定义:

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

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

两者关系:

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

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

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

注意:

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

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

举例:

母版页一的代码:

  1. <span style="font-size:18px;"><span style="font-size:13px;"><head runat="server">  
  2.   
  3.     <title>演示</title>  
  4.   
  5.     <asp:ContentPlaceHolder id="head" runat="server">  
  6.   
  7.     </asp:ContentPlaceHolder>  
  8.   
  9. </head>  
  10.   
  11. <body>  
  12.   
  13.     <form id="form1" runat="server">母版页演示  
  14.   
  15.     <div>  
  16.   
  17.         <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">              
  18.   
  19.         </asp:ContentPlaceHolder>          
  20.   
  21.     </div>  
  22.   
  23.     </form>  
  24.   
  25. </body></span>  
  26.   
  27. </span>  


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

  1. <span style="font-size:18px;"><span style="font-size:13px;"><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">  
  2.   
  3. </asp:Content>  
  4.   
  5. <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  
  6.   
  7. </asp:Content></span>  
  8.   
  9. </span>  


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

  1. <span style="font-size:18px;"><span style="font-size:13px;"><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">  
  2.   
  3. </asp:Content>  
  4.   
  5. <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  
  6.   
  7. </asp:Content></span>  
  8.   
  9. </span>  

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

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

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

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

  1. <span style="font-size:18px;"><span style="font-size:13px;"><asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">  
  2.   
  3.     <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">  
  4.   
  5.     </asp:ContentPlaceHolder>  
  6.   
  7. </asp:Content></span>  
  8.   
  9. </span><span style="font-size:13px;"><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  
  10.   
  11.     <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">  
  12.   
  13.     </asp:ContentPlaceHolder>  
  14.   
  15. </asp:Content>  
  16.   
  17. </span>  

 

母版页二的内容页变为:

  1. <span style="font-size:13px;"><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  
  2.   
  3. </asp:Content>  
  4.   
  5. <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">  
  6.   
  7. </asp:Content>  
  8.   
  9. </span>  

转载于:https://www.cnblogs.com/Tally/archive/2013/01/29/2881706.html

你可能感兴趣的文章
HTML5新特性
查看>>
p2 碰撞
查看>>
pushbox(2)
查看>>
PHP 中巧用数组降低程序的时间复杂度
查看>>
Android加载/处理超大图片神器!SubsamplingScaleImageView(subsampling-scale-image-view)【系列1】...
查看>>
iOS 开发之模糊效果的五种实现
查看>>
CGBitmapContextCreate函数
查看>>
基于 Android NDK 的学习之旅-----数据传输(引用数据类型)
查看>>
Idea创建Maven项目时,没有自动添加Artifacts
查看>>
[leetcode]739. Daily Temperatures
查看>>
iOS-OC-基础-NSNumber常用方法
查看>>
好书记录
查看>>
突然 不能f**q
查看>>
451 两两交换链表中的节点
查看>>
FZU2224 An exciting GCD problem 区间gcd预处理+树状数组
查看>>
字符串操作2 - 递归打印字符串
查看>>
非对称加密
查看>>
bzoj 3413: 匹配
查看>>
从下周开始就要采用网上记录值班日志了
查看>>
在qq中可以使用添加标签功能
查看>>