5.1创建母版本页

创建母版本页

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="SimpleMaster.master.cs"
Inherits="SimpleMaster" %>

<!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">
<style type="text/css">
html
{
background-color: Silver;
font: 14px Arial,Sans-Serif;
}
.content
{
margin: auto;
width: 700px;
background-color: White;
border: Solid 1px black;
}
.leftColumn
{
float: left;
padding: 5px;
width: 200px;
border-right: Solid 1px black;
height: 700px;
}
.rightColumn
{
float: left;
padding: 5px;
}
.clear
{
clear: both;
}
</style>
<title>Simple master</title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div class="content">
<div class="leftColumn">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<div class="rightColumn">
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server">
</asp:ContentPlaceHolder>
</div>
<br class="clear" />
</div>
</form>
</body>
</html>

----------------------------------------

<%@ Page Title="" Language="C#" MasterPageFile="~/SimpleMaster.master" %>

<script runat="server">

</script>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
SimpleContent
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
Content in the first column
<br />Content in the first column
<br />Content in the first column
<br />Content in the first column
<br />Content in the first column
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
Content in the Second column
<br />Content in the Second column
<br />Content in the Second column
<br />Content in the Second column
<br />Content in the Second column
</asp:Content>

嵌套母版本

[code]
<%@ Master Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
html
{
background-color: DarkGreen;
font: 14px Georgia,Serif;
}
.content
{
width: 700px;
margin: auto;
border-style: solid;
background-color: White;
padding: 10px;
}
.tabstrip
{
padding: 3px;
border-top: solid 1px black;
border-bottom: solid 1px black;
}
.tabstrip a
{
font: 14px Arial;
color: DarkGreen;
text-decoration: none;
}
.column
{
float: left;
padding: 10px;
border-right: solid 1px black;
}
.rightColumn
{
float: left;
padding: 10px;
}
.clear
{
clear: both;
}
</style>
<title>My Site Master</title>
</head>
<body>
<form id="form1" runat="server">
<div class="content">
<asp:Image ID="imgLogo" ImageUrl="~/Images/1.gif" AlternateText="Website Logo" runat="server" />
<div class="tabstrip">
<asp:HyperLink ID="lnkProducts" Text="Products" NavigateUrl="~/Products.aspx" runat="server" />
 
<asp:HyperLink ID="lnkServices" Text="Services" NavigateUrl="~/Services.aspx" runat="server" />
</div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
<br class="clear" />
Copyright ©2010 by Danny.
</div>
</form>
</body>
</html>
[/code]


SectionProducts.master
[code]
<%@ Master Language="C#" MasterPageFile="~/MySite.master" %>

<script runat="server">

</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="column">
<asp:ContentPlaceHolder ID="ContentPlaceHoder1" runat="server" />
</div>
<div class="column">
<asp:ContentPlaceHolder ID="ContentPlaceHoder2" runat="server" />
</div>
<div class="rightColumn">
<asp:ContentPlaceHolder ID="ContentPlaceHoder3" runat="server" />
</div>
</asp:Content>
[/code]

SectionServices.master
[code]
<%@ Master Language="C#" MasterPageFile="~/MySite.master" %>

<script runat="server">

</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="column">
<asp:ContentPlaceHolder ID="ContentPlaceHoder1" runat="server" />
</div>
<div class="rightColumn">
<asp:ContentPlaceHolder ID="ContentPlaceHoder2" runat="server" />
</div>
</asp:Content>
[/code]

Products.aspx
[code]
<%@ Page Title="" Language="C#" MasterPageFile="~/SectionProducts.master" %>

<script runat="server">

</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHoder1" runat="Server">
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHoder2" runat="Server">
Products,Products,Products 2
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHoder3" runat="Server">
Products,Products,Products 3
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
<br />
Products,Products,Products
</asp:Content>
[/code]

Services.aspx
[code]
<%@ Page Title="" Language="C#" MasterPageFile="~/SectionServices.master" %>

<script runat="server">

</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHoder1" runat="Server">
Services,Services,Services 1
<br />
Services,Services,Services
<br />
Services,Services,Services
<br />
Services,Services,Services
<br />
Services,Services,Services
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHoder2" runat="Server">
Services,Services,Services 2
<br />
Services,Services,Services
<br />
Services,Services,Services
<br />
Services,Services,Services
<br />
Services,Services,Services
</asp:Content>
[/code]

在母版页中使用图片和超链接
在母版页中使用相对URL必须十分小心。
使用ASP.net控件,相对URL会解析为相对于母版本的URL。
母版中添加Asp.net Image控件
<asp:Image ImageUrl="Picture.gif" run="server"/>
母版在MasterPages的文件夹中,则URL会解析为:/MasterPages/Pictrue.gif
即使内容页在一个完全不同的文件夹中,ImageUrl属性仍然会解析为相对于母版页的URL而不是相对于内容页的URL。
使用HTML标签,情况完全不同<a><img>
在母版中添加<img src="picture.gif"/>
内容页在ContentPages文件夹中则会解析为: /ContentPages/picture.gif
解决方法:
1、用ASP.Net控件替换使用相对URL的HTML元素
2、用绝对URL来替换相对URL 比较僵硬
3、在母版中使用方法来重新解析相对URL。 MasterUrl()
ImageMaster.master [in MasterPages文件夹]
[code]
<%@ Master Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<img src='<%=Page.ResolveUrl("~/MasterPages/Logo.gif") %>' alt="Website Logo" />
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
[/code]

ImageContent [在根目录下]
[code]
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/ImageMaster.master" %>

<script runat="server">

</script>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
Head
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<h1>
Image Content</h1>
</asp:Content>
[/code]

在Web配置文件中注册母版页
<configuration>
<system.web>
<pages masterPageFile="~/SimpleMaster.master"/>
</system.web>
</configuration>

母版页只能应用到内容页,如果一个页面没有Content控件,只是普通ASP.net页面的话,母版页被忽略。

2011-4-28 10:24 danny
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值