大型网站的母版页
我刚刚学习了ASP.NET 2.0中的母版页。
它们听起来不错,但在实践中效果如何?
是否有人有使用大型网站的经验?
解决方案
回答
我敢肯定我只在ASP.NET MVC的上下文中使用过母版页,所以我不确定它是否与Web表单不同,但是根据我的经验,它们不仅出色,而且我无法想象不使用它们。母版页是对网页的代码继承。
回答
它们非常有用,尤其是在CMS环境和大型站点中,正如MattMitchell所说,如果没有它们就建大型站点是不可想象的。
选择模板,每个模板具有不同的可编辑区域,完成工作。母版页也可以被继承,因此我们可以拥有一个Style.Master,派生一个Header.Master,然后从中派生所有基于布局的模板。
回答
母版页使构建可模板的网站变得容易。
我认为使用母版页构建网站时最棘手的部分是知道何时将内容放到母版页中以及何时将内容放到子页上的ContentPlaceHolder中。通常,动态内容进入占位符,而静态项目进入母版页,但是有时会有一个灰色区域。主要是设计/架构问题。
回答
如果我们想在应用程序的所有页面中保持应用程序的外观,则必须使用它们。
它们相当易于使用:
首先,设计母版页并定义要将内容放置在何处:
<%@ 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控件,与其他公司提供的产品相比,它为我们提供了优势。
回答
在实践中,我很少会发现没有使用MasterPages开发的网站。它们允许对网站的外观进行简单轻松的操纵,还使导航元素和共享内容变得轻而易举。
ASP.Net 3.5甚至允许多个内容页和单个母版页上的标头部分的操纵。
我将其评为使用ASP.Net的Web开发人员的十大工具。
甚至ASP.Net MVC都使用MasterPages,Paul Haack和他的众筹对象一起使用的所有示例都使用了它们。
回答
我在这里回荡其他声音。我在2.0版中使用了母版页,而该功能对我来说很棒。我一直在其上嵌入横幅,标准化背景,从Active Dir捕获的内容以及其他JavaScript功能,以便在整个应用程序中使用,以保持外观的一致性,而无需在多个页面上重复工作。很棒的功能。