只有内容控件才可以直接放置在包含内容控件的内容页中。

4

我正在尝试将内容占位符添加到主页面,但出现上述错误。 该主页面从另一个主页面继承,子主页面的许多ContentPlaceHolders都包含在Content标记中,这些标记将继承页面的内容注入父主页面的占位符中。 然而,我希望子主页面与基础主页面有所不同,拥有自己的与父主页面无关的ContentPlaceHolder。但似乎它不喜欢以下行:

<asp:ContentPlaceHolder ID="chpBanner" runat="server" />
1个回答

5
这是不可能的。它甚至没有逻辑意义。 如果您放置了一个独立的ContentPlaceHolder,那么父母主页如何知道将其内容放在哪里呢? 如果没有父级来连接控件,那么它将如何构建控件树?
您必须选择父母中的ContentPlaceHolder以添加它。 如果您这样做是为了定位目的,则可以使用CSS将此div的内容放置在呈现页面上任何位置。

好的,我现在明白了。自从认真使用MVC以来,我已经有一段时间没有看过WebForms了。我试图将它映射到我的继承和面向对象的概念上。我在想“如果我向子类添加一个属性,父类不应该知道任何关于它的事情”。但是,是的,父类需要知道这个属性,以便可以正确生成DOM。 - jaffa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接