在ASP.NET Web Forms中,WebPages布局通常是通过使用Master Page(主母版页)来实现的。Master Page定义了站点的整体布局结构,而Content Page(内容页)则包含特定页面的内容。这种方式允许你在整个网站中保持一致的外观和结构。

以下是一个简单的ASP.NET Web Forms中使用Master Page和Content Page的示例:

1. 创建Master Page:

创建一个新的Master Page文件,通常以.master为扩展名。在这个文件中,你可以定义网站的整体结构,包括页眉、页脚、导航菜单等。

Site.master示例:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="YourNamespace.Site" %>

<!DOCTYPE html>
<html>
<head runat="server">
    <title>My Web Site</title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form runat="server">
        <div id="header">
            <!-- Header content goes here -->
        </div>
        <div id="menu">
            <!-- Menu content goes here -->
        </div>
        <div id="main">
            <asp:ContentPlaceHolder ID="MainContent" runat="server">
            </asp:ContentPlaceHolder>
        </div>
        <div id="footer">
            <!-- Footer content goes here -->
        </div>
    </form>
</body>
</html>

2. 创建Content Page:

创建一个新的Web Form页面,然后指定它使用你刚创建的Master Page。在Content Page中,你只需要关注页面的特定内容。

Default.aspx示例:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="YourNamespace._Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <!-- Additional head content for this page goes here -->
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
    <!-- Main content for this page goes here -->
    <h1>Welcome to my website!</h1>
    <p>This is the home page content.</p>
</asp:Content>

在这个例子中,Default.aspx页面通过MasterPageFile="~/Site.master"指定使用Site.master作为其Master Page。<asp:Content>标签用于指定Content Page中的内容应该插入到Master Page中的哪个ContentPlaceHolder中。

通过这种方式,你可以在整个网站中维护一致的布局,同时在每个页面中定义特定的内容。


转载请注明出处:http://www.zyzy.cn/article/detail/14954/ASP.NET Web Forms