我刚学习ASP.NET 2.0中的母版页。
它们听起来很棒,但它们在实践中的表现如何?
是否有人有在大型网站上使用它们的经验?
答案 0 :(得分:5)
我很确定我在ASP.NET MVC的上下文中只使用了母版页,所以我不确定它是否与Web表单不同,但根据我的经验,它们不仅非常出色,而且我无法想象不使用它们。母版页是网页的代码继承。
答案 1 :(得分:5)
如果您希望在应用程序的所有页面中保持应用程序的外观,则必须使用它们。
它们相当容易使用:
首先,设计母版页并定义要放置内容的位置:
<%@ 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>
只需确保链接到正确的母版页,并确保您的内容引用了正确的占位符。
母版页可以节省大量时间并且功能非常强大。有教程,了解占位符和网页控制的力量。
在我工作的地方,我们为一些大公司广泛使用母版页和网页控件,与其他公司提供的服务相比,它给我们带来了优势。
答案 2 :(得分:1)
它们非常有用,特别是在CMS环境和大型网站中,并且正如MattMitchell所说,没有它们构建一个大型网站是不可思议的。
选择模板,每个模板都有不同的可编辑区域,完成工作。母版页也可以继承,因此您可以拥有一个Style.Master,派生一个Header.Master,然后从中派生所有基于布局的模板。
答案 3 :(得分:0)
Master Pages使构建模板网站变得容易。
我认为使用母版页构建网站最棘手的部分是知道何时将内容放入母版页以及何时将内容放入子页面上的ContentPlaceHolder中。通常,动态内容会进入占位符,而静态项目会进入母版页,但有时会出现灰色区域。这主要是设计/架构问题。
答案 4 :(得分:0)
在实践中,我经常发现不使用MasterPages开发的网站。它们可以简单轻松地处理网站外观和感觉,还可以轻松实现导航元素和共享内容。
ASP.Net 3.5甚至允许跨单个母版页的多个内容页面和标题部分的操作。
我认为它是使用ASP.Net的Web开发人员的十大工具之一。
即使ASP.Net MVC使用MasterPages,所有样本Paul Haack和他的人群一起使用它们。
答案 5 :(得分:0)
我在这里回应其他声音。我在2.0中使用了Master Pages,这个功能对我来说很棒。我一直在嵌入横幅,标准化背景,Active Dir捕获和其他JavaScript功能,以便在整个应用程序中使用,保持外观和感觉的一致性,而无需在多个页面上复制工作量。很棒的功能。