首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >母版页是要走的路吗?

母版页是要走的路吗?
EN

Stack Overflow用户
提问于 2009-11-26 04:55:53
回答 5查看 301关注 0票数 5

我可能是疯了,但是母版页让我害怕,因为我害怕一旦我被锁定在使用母版页,我会遇到一种情况,我将只想继承母版页的90%的可视内容,迫使我打破继承,从而不得不重新生成母版页中的内容并将其带入子级。

我感觉这是任何一种“继承”的问题,因为你必须小心,但似乎至少你可以覆盖常规类中的方法。

我在这里可能不太连贯,但是用户控件似乎给了你更多的灵活性。唯一的缺点是你必须把它们拖到一个them表单上。对于这一点,我认为这是个大问题。

将我的应用程序从使用用户控件转换为母版页让我感到害怕,我担心我的Javascript会崩溃。

评论?

EN

回答 5

Stack Overflow用户

发布于 2009-11-26 05:10:11

别害怕。

您可以创建任意数量的占位符,使您的母版页非常细粒度。这些占位符还可以包含默认内容和控件。

因此,在您想要默认标记的90%的页面中,您可以省略覆盖内容。

或者,在10%的情况下,如果您想要一些不同的东西,您可以提供覆盖标记

示例:

代码语言:javascript
复制
<%@ Master Language="C#" %>
<html>
<body>
<asp:ContentPlaceholder id="Headline" runat="Server">
    My Default Headline
</asp:ContentPlaceholder>
<asp:ContentPlaceholder id="Main" runat="Server" />
</body>
</html>

在你的主页上,你可以有一个这样的页面:

代码语言:javascript
复制
<%@ 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>

在所有其他页面上,通过省略标题的标记来利用默认的“headline”,如下所示:

代码语言:javascript
复制
<%@ Page MasterPageFile="..." %>
<asp:Content contentplaceholderid="Main" runat="server">
    My page main content
</asp:Content>
票数 13
EN

Stack Overflow用户

发布于 2009-11-26 04:59:46

我不会考虑不使用母版页。如果你想在大多数页面上共享最外面的chrome,在竖井中共享内部chrome等等,你总是可以嵌套母版页。

票数 8
EN

Stack Overflow用户

发布于 2009-11-26 04:59:11

正如您所提到的,继承问题可能出现在任何地方。不要过早地过度设计。

有了你描述的母版页问题,你可以换入/换出不同的css文件,并使用选择器隐藏/更改从母版页生成的html的一部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1799886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档