我可能是疯了,但是母版页让我害怕,因为我害怕一旦我被锁定在使用母版页,我会遇到我只想继承母版页的 90% 视觉内容的情况,迫使我打破继承,因此必须复制主人中的内容并将其带入 child 。
我觉得这是任何类型的“继承”的问题,因为您必须小心,但似乎至少您可以覆盖常规类中的方法。
我在这里可能不太连贯,但用户控件似乎给你更多的灵 active 。唯一的缺点是您必须将它们拖到网络表单上。对此,我说大不了。
将我的应用程序从使用用户控件转换为母版页让我感到害怕,我担心我的 Javascript 会损坏。
评论?
最佳答案
不要害怕。
您可以创建任意数量的占位符,使您的母版页非常精细。这些占位符还可以包含默认内容和控件。
因此,在需要默认标记的 90% 页面中,您可以省略覆盖内容。
或者,在 10% 的情况下,您需要不同的东西,您可以提供覆盖标记
例子:
<%@ Master Language="C#" %>
<html>
<body>
<asp:ContentPlaceholder id="Headline" runat="Server">
My Default Headline
</asp:ContentPlaceholder>
<asp:ContentPlaceholder id="Main" runat="Server" />
</body>
</html>
在您的主页上,您可以有这样的页面:
<%@ Page MasterPageFile="..." %>
<asp:Content ContentPlaceHolderID="Headline" runat="Server">
My homepage headline
</asp:Content>
<asp:Content contentplaceholderid="Main" runat="server">
My homepage main content
</asp:Content>
在所有其他页面上,通过省略标题的标签来利用默认的“标题”,如下所示:
<%@ Page MasterPageFile="..." %>
<asp:Content contentplaceholderid="Main" runat="server">
My page main content
</asp:Content>
关于asp.net - 母版页是要走的路吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1799886/