我在c#中使用visual studio 2010构建了一个asp.net网站。该网站基本上有两个部分:http://www.wsgelectronics.com供参考。
默认页面是default.aspx的site.master页面。我想分成两个主页面,每个部分一个,汽车音频和计算机部分,如果你看看网站,每个都有自己的布局,导航栏,内容等。
我如何将它们联系起来工作?我可以在一个项目上有三个 * .master页面吗?我没有选择嵌套的原因,他们将是完全不同的布局,但我找不到任何关于在一个站点上链接不同母版页的教程。甚至可以这样做吗?
答案 0 :(得分:4)
是的,您可以在给定的网站中拥有所需数量的母版页。当您在站点中创建Web表单(常规.aspx页面)时,会出现“选择主页”的复选框,因此请确保已选中。然后,当您选择所需的母版页时,Studio将为您的页面存根所需的标记以使用该母版页。
例如,这是一个Web表单的存根,在同一目录中有一个名为MasterPage.master
的主服务器。相关部分是:
MasterPageFile
显示了母版页的应用程序相对路径。ContentPlaceHolder
类型的服务器控件。这允许您控制页面中标记的显示位置。我在此示例中使用的母版页有两个,一个名为head
,另一个名为ContentPlaceHolder1
。同样,这些控件在我的母版页中定义。示例标记:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
</asp:Content>
有关详细信息,请参阅asp.net上的Master Page Tutorials。
答案 1 :(得分:1)
是的,您可以使用多个母版页,但一次应该引用一个母版页。
您可以通过在页面生命周期的pre_Init
事件中指定母版页来在代码隐藏处继承多个母版页。
您需要做的就是在内容页面上定义一个属性,该属性将在pre_Init
事件中设置所需的主页面,这可能是一个会话变量,使其成为动态。