zoukankan      html  css  js  c++  java
  • 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>  
  • 相关阅读:
    PHP字符串中的变量解析(+教你如何在PHP字符串中加入变量)
    **【ci框架】PHP的CI框架集成Smarty的最佳方式
    六步实现Rest风格的API
    jfinal想用到中大型项目中的项目经验分享
    ***iOS 项目的目录结构能看出你的开发经验
    非常好!!!Linux源代码阅读——环境准备【转】
    非常好!!!Linux源代码阅读——中断【转】
    linux中断申请之request_threaded_irq【转】
    linux设备驱动归纳总结(六):2.分享中断号【转】
    一些不错的文档网址--笔记【原创】
  • 原文地址:https://www.cnblogs.com/Tally/p/2881706.html
Copyright © 2011-2022 走看看