我刚学习了ASP.NET 2.0中的主控页。
它们听起来很不错,但是实际使用效果如何呢?
有没有人在大型网站中使用过它们?
我刚学习了ASP.NET 2.0中的主控页。
它们听起来很不错,但是实际使用效果如何呢?
有没有人在大型网站中使用过它们?
我相信我只在ASP.NET MVC的环境下使用过母版页,所以我不确定它是否与Web Forms有所不同,但根据我的经验,它们不仅非常出色,而且我无法想象不使用它们。母版页是网页的代码继承。
如果你希望在应用程序的所有页面中保持应用程序的外观,那么它们是必需的。
它们相当容易使用:
首先,设计您的母版页并定义您想要放置内容的位置:
<%@ 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特性,以便在整个应用程序中使用,保持外观和感觉的一致性,而无需在多个页面上重复努力。这是一个很棒的功能。