asp .net c# 中两个母版页的更好实现方式
Better way implementation of two master pages in asp .net c#
在我的项目(网站)中,我有两个母版页。它们之间的唯一区别是,一个有侧边栏,另一个没有。除了侧边栏,header/footer 其他都是一样的。
一切正常,但当我必须更改页眉/页脚时出现问题。我必须在两个母版页上分别执行两次,这有时会造成混淆。
谁能告诉我实现这个的更好方法,这样我只需更改一次。
母版页可以嵌套。所以你可以有母版页 A,然后 B 和 C 都引用 A。或者你可以有母版页 A,只有 B 引用它。您必须检查您的代码,看看哪一个最适合您的情况。
下面的示例 from MSDN,演示了单个 parent 母版页和单个 child.
Parent:
<% @ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<h1>Parent Master</h1>
<p style="font:color=red">This is parent master content.</p>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</form>
</body>
</html>
Child:
<%@ Master Language="C#" MasterPageFile="~/Parent.master"%>
<asp:Content id="Content1" ContentPlaceholderID="MainContent" runat="server">
<asp:panel runat="server" id="panelMain" backcolor="lightyellow">
<h2>Child master</h2>
<asp:panel runat="server" id="panel1" backcolor="lightblue">
<p>This is child master content.</p>
<asp:ContentPlaceHolder ID="ChildContent1" runat="server" />
</asp:panel>
<asp:panel runat="server" id="panel2" backcolor="pink">
<p>This is child master content.</p>
<asp:ContentPlaceHolder ID="ChildContent2" runat="server" />
</asp:panel>
<br />
</asp:panel>
</asp:Content>
在我的项目(网站)中,我有两个母版页。它们之间的唯一区别是,一个有侧边栏,另一个没有。除了侧边栏,header/footer 其他都是一样的。
一切正常,但当我必须更改页眉/页脚时出现问题。我必须在两个母版页上分别执行两次,这有时会造成混淆。
谁能告诉我实现这个的更好方法,这样我只需更改一次。
母版页可以嵌套。所以你可以有母版页 A,然后 B 和 C 都引用 A。或者你可以有母版页 A,只有 B 引用它。您必须检查您的代码,看看哪一个最适合您的情况。
下面的示例 from MSDN,演示了单个 parent 母版页和单个 child.
Parent:
<% @ Master Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="Form1" runat="server">
<div>
<h1>Parent Master</h1>
<p style="font:color=red">This is parent master content.</p>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</form>
</body>
</html>
Child:
<%@ Master Language="C#" MasterPageFile="~/Parent.master"%>
<asp:Content id="Content1" ContentPlaceholderID="MainContent" runat="server">
<asp:panel runat="server" id="panelMain" backcolor="lightyellow">
<h2>Child master</h2>
<asp:panel runat="server" id="panel1" backcolor="lightblue">
<p>This is child master content.</p>
<asp:ContentPlaceHolder ID="ChildContent1" runat="server" />
</asp:panel>
<asp:panel runat="server" id="panel2" backcolor="pink">
<p>This is child master content.</p>
<asp:ContentPlaceHolder ID="ChildContent2" runat="server" />
</asp:panel>
<br />
</asp:panel>
</asp:Content>