【问题标题】:verify content control's ContentPlaceHolderID attribute in the content page在内容页面中验证内容控件的 ContentPlaceHolderID 属性
【发布时间】:2014-12-29 12:12:30
【问题描述】:

我是一名新的 ASP.NET 开发人员。我正在使用 C# 进行开发。我从中删除了一些默认内容,我收到了这些错误通知,如屏幕截图中所附,任何人都可以查看并给我一个解决方案,也有人告诉我 .NET 页面控制页眉和页脚的位置,以便我可以在那里进行修改。

这是完整的错误标题文本:

“在母版页 '/Site.Master' 中找不到 ContentPlaceHolder 'MainContent',请在内容页中验证内容控件的 ContentPlaceHolderID 属性。”

【问题讨论】:

  • 在您的子页面中,您指的是通过MainContent 删除的内容。搜索并修复它。
  • 您应该阅读“在 asp.net 中使用母版页”
  • @VMAtm 其中MainContent 存在,这是文件名还是文件夹,我需要更改什么?
  • MainContent 是母版页中 ContentPlaceHolder 的 ID

标签: c# asp.net .net


【解决方案1】:

从您的子页面中删除 asp:Content ContentPlaceHolderID="MainContent" 或将 <asp:ContentPlaceHolder ID="MainContent" runat="server"> 添加到您的母版页面中。

【讨论】:

  • 我有这样的代码<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"> <asp:TextBox ID="TextBox1" runat="server" Width="194px"></asp:TextBox> </asp:Content>
  • 然后将此添加到您的母版页<asp:ContentPlaceHolder ID="MainContent" runat="server">
【解决方案2】:

您的母版页中没有名为“MainContent”的 ContentPlaceHolder,

内容占位符应该在您的母版页中,如下所示:

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

    </asp:ContentPlaceHolder>

还有像这样的子页面:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
</asp:Content>

【讨论】:

    【解决方案3】:

    当您有一个从母版页继承的子页面时,ContentPlaceHolder 应该在它们之间匹配。

    因此,如果您的母版页声明每个孩子都应填写其 Box1 Box2Box3containers 链接到它的子页面 (MasterPageFile="~/MasterPages/Site.master") 必须包含此引用 &lt;asp:Content runat="server" ContentPlaceHolderID="Box1"&gt;,即使为空。 在您的情况下,您已经声明了母版页没有的框名称

    更新

    查看您的代码,我怀疑您以错误的方式链接了母版页。 更改页面的属性并确保路径正确

    MasterPageFile="~/MasterPages/Site.master"
    

    如果它不起作用,试试这个

    如果页面为空,请将其删除并使用母版页重新创建 aspx 页面,在您选择母版页后,将使用正确的 contentplaceholders 创建子页面。

    【讨论】:

    • 我在 Default.aspx 中有类似 &lt;asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server"&gt; &lt;asp:TextBox ID="TextBox1" runat="server" Width="194px"&gt;&lt;/asp:TextBox&gt; &lt;/asp:Content&gt; 的代码
    • 给出错误“错误 1 ​​文件 '/MasterPages/Site.Master' 不存在。C:\Users\user123\Documents\Visual Studio 2013\WebSites\WebSite3\Default.aspx”
    • 您有嵌套母版页吗?
    • 你能告诉我如何成为一个母版页吗?母版页是指 Default.aspx 也有一个 site.master 在那个 site.master.cs 下我不知道这些是什么你能解释一下吗?
    • 当然,您应该有一个包含内容占位符的母版页。它们的属性 ID 必须与子页面中内容元素的 contentplaceholderid 属性完全相同。如果你有 ID 属性等于是错误的。要从子页面引用框,请使用 ContentPlaceHolderID 属性。在您的母版页中,您应该有 &lt;asp:ContentPlaceHolder ID="MainContent" runat="server"&gt;
    猜你喜欢
    • 2014-02-01
    • 1970-01-01
    • 2012-08-29
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    相关资源
    最近更新 更多