代码之家  ›  专栏  ›  技术社区  ›  RKh

内容Web窗体不允许添加内容

  •  0
  • RKh  · 技术社区  · 15 年前

    这是我的项目中嵌套母版页的代码:

    <%@ Master Language="C#" MasterPageFile="~/Presentation_Layer/Pages/home.Master" AutoEventWireup="true" CodeBehind="cmsNestedMasterPage.master.cs" Inherits="livetest.Presentation_Layer.Pages.cmsNestedMasterPage" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    
    </asp:Content>
    
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
        <div id="divMenuSideBarLeft" class="MainSideBar1Div" style="top: 2px" 
            title="LiveTest CMS Menu">
        </div>
    
     <div id="divCmsContent" class="MainContentDiv" title="divCmsContent" 
            style="background-color: ButtonFace; width: 791px; left: 203px; position:relative; top: -602px;">
        </div>
    </asp:Content>
    

    我有以下疑问:

    1. 第一次 ContentPlaceHolder ContentPlaceHolderID="head" ,这是干什么的?两者 内容占位符 当我将此嵌套母版页添加到项目时,自动添加了。
    2. 在第二个 内容占位符 具有 ContentPlaceHolderID="ContentPlaceHolder1" ,我加了两个 div s、 一个是在左边显示一个侧栏,另一个是我要显示输入表单的地方。问题是,当我添加一个新的Web内容表单并将其链接到此母版页时,它只有一行预先编写的内容:
    <%@ Page Title="" Language="C#"
        MasterPageFile="~/Presentation_Layer/Pages/cmsNestedMasterPage.master" 
        AutoEventWireup="true" CodeBehind="BookEntry.aspx.cs" 
        Inherits="livetest.Presentation_Layer.Pages.CMS.BookEntry" %>
    

    代码没有显示任何 内容占位符 s、 即使我尝试添加一个,它也会给出错误:

    该页有一个或多个 <asp:Content> <asp:ContentPlaceHolder> 母版页中的控件。

    如何纠正这个错误?

    1 回复  |  直到 9 年前
        1
  •  1
  •   Geoff Appleford    15 年前

    你需要添加 ContentPlaceHolders 到嵌套的 MasterPage 在里面 Content 元素。如

    母版页1:

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

    嵌套母版页:

    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    
        <div id="divMenuSideBarLeft" class="MainSideBar1Div" style="top: 2px" title="LiveTest CMS Menu">
        </div>
    
        <div id="divCmsContent" class="MainContentDiv" title="divCmsContent" style="background-color: ButtonFace; width: 791px; left: 203px; position:relative; top: -602px;">
           <-- Content on page goes inside this ContentPlaceHolder -->
           <asp:ContentPlaceHolder ID="cphCmsDiv" runat="server">
           </asp:ContentPlaceHolder>
        </div>
    
    </asp:Content>
    

    然后添加相应的 内容 项目到页面(将自动为新页面添加这些项目):

    <asp:Content ID="Content3" ContentPlaceHolderID="cphCmsDiv" runat="server">
    
    </asp:Content>
    
    推荐文章