1、定制模板。
可以先在网站建一Skins目录,这样将所有的模板都统一放在它之下。
接着添加模板,在该目录下添加新项:Master.Page。命名为:<指定名字>.master。创建之后会发现它和新建的一个ASPX页面没什么太多区别。所以也应可以通过制作普通页面的方面来设计它。只不过,对于需要在不同场合由于不同内容来替换的地方用:Contentplaceholder组件来定义就行。这样,一个模板就制作好了。完成后的代码如:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Skin2.master.cs" Inherits="Skins_Skin2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<table border="1" bordercolor="#ffcc66" cellpadding="0" cellspacing="0" style="width: 606px">
<tr>
<td colspan="3" style="height: 234px">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td>
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
</asp:ContentPlaceHolder>
dsfsdaf</td>
<td style="width: 4px">
</td>
<td>
<asp:ContentPlaceHolder ID="ContentPlaceHolder4" runat="server">
sdfdsafasd122</asp:ContentPlaceHolder>
sdfsdadsafsd</td>
</tr>
<tr>
<td>
<asp:ContentPlaceHolder ID="ContentPlaceHolder3" runat="server">
</asp:ContentPlaceHolder>
</td>
<td style="width: 4px">
</td>
<td>
</td>
</tr>
</table>
</form>
</body>
</html>
2、使用模板。
建一个你要显示内容的ASPX页面。将里面的所有html元素全清掉。注意保留下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
这行
完后在该面页中通过<asp:Content>来定义及实现每一块的在模板中通过Contentplaceholder已定义的区域。如:
<asp:Content ID="content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Panel ID="Panel3" runat="server" Height="50px" Width="125px">
<asp:DropDownList name="dfgddf" ID="DropDownList1" runat="server">
</asp:DropDownList></asp:Panel>
<asp:Panel ID="Panel4" runat="server" Height="50px" Width="125px">
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</asp:Panel>
</asp:Content>
完后,再在Page_PreInit中加载需要用的模板。如:
protected void Page_PreInit(object sender, EventArgs e)
{
this.MasterPageFile = "Skins/Skin2.master";//实际使用时,可以在别处先设定模板,完后该处读取指定的模板,当然这个处理就可以多种多样了。
}