首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

5.1创设母版本页

2012-10-29 
5.1创建母版本页创建母版本页%@ Master LanguageC# AutoEventWireuptrue CodeFileSimpleMaster.m

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 runat="server">
            </asp:ContentPlaceHolder>
        </div>
        <div runat="server">
            </asp:ContentPlaceHolder>
        </div>
        <br />
    </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>

嵌套母版本

<%@ 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 ImageUrl="~/Images/1.gif" AlternateText="Website Logo" runat="server" />        <div Text="Products" NavigateUrl="~/Products.aspx" runat="server" />            &nbsp;            <asp:HyperLink ID="lnkServices" Text="Services" NavigateUrl="~/Services.aspx" runat="server" />        </div>        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">        </asp:ContentPlaceHolder>        <br />        Copyright &copy;2010 by Danny.    </div>    </form></body></html>



SectionProducts.master
<%@ Master Language="C#" MasterPageFile="~/MySite.master" %><script runat="server"></script><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">    <div runat="server" />    </div>    <div runat="server" />    </div>    <div runat="server" />    </div></asp:Content>


SectionServices.master
<%@ Master Language="C#" MasterPageFile="~/MySite.master" %><script runat="server"></script><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">    <div runat="server" />    </div>    <div runat="server" />    </div></asp:Content>


Products.aspx
<%@ 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>


Services.aspx
<%@ 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>


在母版页中使用图片和超链接
在母版页中使用相对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文件夹]
 
 <%@ 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="5.1创设母版本页" />        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">        </asp:ContentPlaceHolder>    </div>    </form></body></html>


ImageContent [在根目录下]
 <%@ 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>


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

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

2011-4-28 10:24 danny

热点排行