如何解决找不到 ContentPlaceHolder 错误?

发布于 2025-01-04 06:37:28 字数 942 浏览 5 评论 0原文

尝试实现新的内容页面时遇到了“呃”时刻

,这是结构

Master Page
---- Nested Master Page
-------- Nested Master's Content Page

标记:

母版页

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

嵌套母版页

MasterPageFile="~/Views/Shared/Administrator.Master"
<asp:Content ID="Content2" CotentPlaceHolderID="bodyContent" runat="server">
 </asp:Content>

嵌套母版页

MasterPageFile="~/Views/Intervention/InterventionMaster.master"
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="Content2">
 </asp:Content>

接收错误:

在母版页中找不到 ContentPlaceHolder“Content2” '/Views/Intervention/InterventionMaster.master',验证内容 内容页中控件的 ContentPlaceHolderID 属性。

我可能做错了什么?

Having a "duh" moment trying to implement a new content page

Here's the structure

Master Page
---- Nested Master Page
-------- Nested Master's Content Page

Mark up:

Master Page

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

Nested Master Page

MasterPageFile="~/Views/Shared/Administrator.Master"
<asp:Content ID="Content2" CotentPlaceHolderID="bodyContent" runat="server">
 </asp:Content>

Nested Master's Content Page

MasterPageFile="~/Views/Intervention/InterventionMaster.master"
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="Content2">
 </asp:Content>

Receive error:

Cannot find ContentPlaceHolder 'Content2' in the master page
'/Views/Intervention/InterventionMaster.master', verify content
control's ContentPlaceHolderID attribute in the content page.

What could I be doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

烟─花易冷 2025-01-11 06:37:28

您没有 ID = "Content2"ContentPlaceHolder。您只有具有此类 ID 的内容。使用 ID="Content2" 在内容中放置另一个占位符,然后与页面内容连接。

母版页

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

嵌套母版页

<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server">
    <asp:ContentPlaceHolder ID="nestedContent" runat="server">
    </asp:ContentPlaceHolder>
 </asp:Content>

嵌套母版页

<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="nestedContent">
 </asp:Content>

You don't have ContentPlaceHolder with ID = "Content2". You have only content with such ID. Put another placeholder inside of content with ID="Content2" and then connect with the page content.

Master Page

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

Nested Master Page

<asp:Content ID="Content2" ContentPlaceHolderID="bodyContent" runat="server">
    <asp:ContentPlaceHolder ID="nestedContent" runat="server">
    </asp:ContentPlaceHolder>
 </asp:Content>

Nested Master's Content Page

<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="nestedContent">
 </asp:Content>
小糖芽 2025-01-11 06:37:28

一个快速的解决方案是绕过嵌套母版页
来自嵌套大师的内容页面

protected void Page_PreInit(object sender, EventArgs e)
        {
            Master.MasterPageFile = "~/Whatever.Master";
        }

A dirty-quick solution would be to bypass the Nested Master Page
from the Nested Master's Content Page

protected void Page_PreInit(object sender, EventArgs e)
        {
            Master.MasterPageFile = "~/Whatever.Master";
        }
似狗非友 2025-01-11 06:37:28

使用 ID="MainContent"

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

Use ID="MainContent"

<asp:Content ID="Content2" ContentPlaceHolder ID="MainContent" runat="server"></asp:Content>
一曲琵琶半遮面シ 2025-01-11 06:37:28

Codeone 很接近,尝试使用

<asp:Content ContentPlaceHolderID="MainContent" runat="server">

Codeone was close, try using

<asp:Content ContentPlaceHolderID="MainContent" runat="server">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文