Asp.net 仅允许在包含内容控件的内容页中直接使用内容控件

Asp.net 仅允许在包含内容控件的内容页中直接使用内容控件,asp.net,webforms,master-pages,Asp.net,Webforms,Master Pages,我试图将内容占位符添加到母版页中,但出现上述错误。 母版页从另一个母版页继承自身,子母版的许多内容占位符被包装在内容标签中,内容标签将继承页的内容注入父母版的占位符中。 但是,我希望子主控形状稍微偏离基本主控形状,但有自己的ContentPlaceHolder与父主控形状无关。然而,它似乎不喜欢有下面这句话: <asp:ContentPlaceHolder ID="chpBanner" runat="server" /> 这是不可能的。它甚至没有逻辑意义。 如果您放置了一个独立的C

我试图将内容占位符添加到母版页中,但出现上述错误。 母版页从另一个母版页继承自身,子母版的许多内容占位符被包装在内容标签中,内容标签将继承页的内容注入父母版的占位符中。 但是,我希望子主控形状稍微偏离基本主控形状,但有自己的ContentPlaceHolder与父主控形状无关。然而,它似乎不喜欢有下面这句话:

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

这是不可能的。它甚至没有逻辑意义。
如果您放置了一个独立的ContentPlaceHolder,那么父母版页如何知道将其内容放置在何处

如果没有可附加控件的父级,它将如何构建控件树

您必须在父级中选择一个ContentPlaceHolder以将其添加到。

如果您这样做是为了定位,那么可以使用CSS将此div的内容定位到呈现页面上您想要的任何位置。

好的,我现在明白了。自从认真使用MVC以来,我已经有一段时间没有看webforms了。它试图将它映射到我的继承和OO概念。我在想‘如果我给一个子类添加了一个属性,那么父类就不应该知道它的任何信息’。但是,是的,父级需要知道,这样它才能正确地生成DOM。