我刚刚学习了 ASP.NET 2.0 中的母版页。

它们听起来很棒,但它们在实践中效果如何?

有人有在大型网站上使用它们的经验吗?

有帮助吗?

解决方案

我很确定我只在 ASP.NET MVC 上下文中使用过母版页,所以我不确定它是否与 Web 表单不同,但根据我的经验,它们不仅非常出色,而且我无法想象不使用它们。母版页是网页的代码继承。

其他提示

如果您想在应用程序的所有页面中保持应用程序的外观,那么它们是必须的。

它们相当容易使用:

首先,设计您的母版页并定义您想要放置内容的位置:

<%@ Master ... %>

<%-- HTML code --%>
<asp:ContentPlaceHolder id="plhMainContent" runat="server" />
<%-- HTML code --%>

您可以拥有任意数量的占位符,只需为它们提供适当的标识符,因为稍后您将需要它们。

然后当创建一个 aspx 页面,您需要提及要使用哪个母版页以及在哪个占位符中放置什么内容。

<%@ Page ... master="~/MasterPage.master" ... %>

<asp:Content ID="ContentIdentifier" ContentPlaceholderid="plhMainContent" runat="server">
    <%-- More HTML here --%>
    <%-- Insert web controls here --%>
</asp:content>

只需确保链接到正确的母版页并且您的内容引用正确的占位符即可。

母版页可以节省大量时间并且功能非常强大。有一些教程,可以了解占位符和 Web 控件的强大功能。

在我工作的地方,我们为一些大公司广泛使用母版页和 Web 控件,与其他公司提供的产品相比,这给我们带来了优势。

它们非常有用,特别是在 CMS 环境和大型站点中,正如 MattMitchell 所说,如果没有它们,您将无法想象构建大型站点。

选择模板,每个模板都有不同的可编辑区域,大功告成。母版页也可以继承,因此您可以拥有 Style.Master,派生 Header.Master,然后从中派生所有基于布局的模板。

母版页使构建可模板的网站变得容易。

我认为使用母版页构建网站时最棘手的部分是知道何时将内容放入母版页以及何时将内容放入子页面上的 ContentPlaceHolder 中。通常,动态内容进入占位符,而静态内容进入母版页,但有时存在灰色区域。这主要是一个设计/架构问题。

在实践中,我并不经常发现不使用 MasterPages 开发的网站。它们允许简单轻松地操纵网站的外观和感觉,并使导航元素和共享内容变得轻而易举。

ASP.Net 3.5 甚至允许跨单个母版页的多个内容页和标题部分的操作。

我将其评为使用 ASP.Net 的 Web 开发人员的十大工具之一。

甚至 ASP.Net MVC 也使用 MasterPages,并且 Paul Haack 和他的团队整理的所有示例都使用了它们。

我在这里呼应其他声音。我在 2.0 中使用过母版页,该功能对我来说非常棒。我一直在嵌入横幅、标准化背景、从 Active Dir 捕获的内容以及其他 JavaScript 功能,以便在整个应用程序中使用,保持外观和感觉的一致性,而无需在多个页面上重复工作。很棒的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top