• ContentPlaceHolder与Content控件


     

    定义:

    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>  
  • 相关阅读:
    【jQuery】添加删除记录练习
    git
    常用正则表达式
    【资源】前端插件
    menu 菜单显示隐藏-jquery实现
    java作业——Day006
    java作业——Day005
    java作业——Day004
    java作业——Day003
    java作业——Day001
  • 原文地址:https://www.cnblogs.com/Tally/p/2881706.html
Copyright © 2020-2023  润新知