ContentPlaceHolder与Content控件

定义:

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

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

两者关系:

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

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

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

注意:

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

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

举例:

母版页一的代码:

[html] view plaincopy
 

  <span style="font-size:18px;">

    <span style="font-size:13px;">

       <head runat="server">  

            <title>演示</title>  

             <asp:ContentPlaceHolder id="head" runat="server"></asp:ContentPlaceHolder>  

        </head>  

     <body>  

      <form id="form1" runat="server">母版页演示  

        <div>  

        <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>          

       </div>  

      </form>  

    </body>

  </span>  

  </span>  

 

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

[html] view plaincopy

  <span style="font-size:18px;">

    <span style="font-size:13px;">

      <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">  </asp:Content>  

       <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"></asp:Content>

    </span>  

   </span>  

 

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

[html] view plaincopy

  <span style="font-size:18px;">

    <span style="font-size:13px;">

      <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"></asp:Content>  

        <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"></asp:Content>

    </span>  

   </span>  

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

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

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

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

[html] view plaincopy
 

   <span style="font-size:18px;"><span style="font-size:13px;">

      <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">  

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

         </asp:Content>

   </span>  

    </span><span style="font-size:13px;">\

      <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  

            <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">  

            </asp:ContentPlaceHolder>  

        </asp:Content>  

    </span>  

 母版页二的内容页变为:

[html] view plaincopy
     < span  style= "font-size:13px;" > < asp:Content  ID= "Content1"  ContentPlaceHolderID= "ContentPlaceHolder1"  Runat= "Server" >                   </ asp:Content >  

            <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">  

        </asp:Content>  

  

  1. </span>  

转载于:https://www.cnblogs.com/QIAOYIJUN/articles/3048924.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值