Asp.net 主頁簡單了解

什麼是主頁?

    當需要重用內容時,可以使用主頁。主頁就像一個模板一樣,在主頁中定義公用的內容(即不可變更的內容),及可以變更的內容。
主頁的擴展名為
.master
    主頁的源碼如下:

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

<!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>未命名頁面</title>
</head>
<body>
    
<form id="form1" runat="server">
    
<div>
        
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
        
</asp:contentplaceholder>
    
</div>
    
</form>
</body>
</html>

加入主頁方法:
   在方案中加入新項目,選擇“主版頁面”即可。在加入後的主頁中可以使用表格、ContentPlaceHolder控件等設計頁面。

使用主頁方法:
   
方法1:單個頁使用主頁
         某個頁面使用主頁時,需在Page命令中加入MasterPageFile="~/EventRegistratrion.master"屬性。如下代碼:

<%@ Page Language="C#" MasterPageFile="~/EventRegistratrion.master" AutoEventWireup="true"
CodeFile
="Default2.aspx.cs" Inherits="Default2" Title="Untitled Page" %>

方法2:全部頁面使用主頁
        需要將所有頁使用成主面時,需在Web.Config中加入下面代碼,把默認的主面賦予所有頁面。

<system.web>
    
<pages masterPageFile="~/EventRegistratrion.master"></pages>
  
</system.web>

注:1、當某面中設置了主頁時,web.config中定義的主頁將不起作用
        2、當定義主頁後,在加入項目時,勾選擇主版頁面。這樣新增的頁面會變成主頁樣式。

    方法3:根據需要選擇主頁

        在當頁中有多個主頁,同時根據需要想切換主頁,就可以在頁面中判斷主頁。需使用Page_PreInit事件。代碼如下:

    this.PreInit += new EventHandler(_Default_PreInit);

    
void _Default_PreInit(object sender, EventArgs e)
    {
        
if (Request.UserAgent.Contains("Msie"))
        {
            
//選擇一種主頁
            this.MasterPageFile = "~/EventRegistratrion.master";
        }
        
else
        {
            
//選擇另一種主頁
            this.MasterPageFile = "~/Default.master";
        }
    }



編輯套用主版的頁面:
   
被套用主版的頁面需要變更,代碼如下:
<%--設置主頁-->
<%
@ Page Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true"
Codebehind
="Default.aspx.cs"
    Inherits
="WebScottForum.Default" %>

<%@ MasterType VirtualPath="~/Main.master" %>
<%--編輯
ContentPlaceHolder中的內容,ContentPlaceHolderID:與主面頁面中ContentPlaceHolder的ID對應-->
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolderMain">
    
<hr align="center" color="red" size="%100" />
    要顯示的內容
<br />
    
<br />
    
<br />
    Ha Ha
<br />
    
<br />
    
<br />
</asp:Content>
<%--此部分需要注釋掉
<!
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>未命名頁面</title>
</head>
<body>
    
<form id="form1" runat="server">
        
<div>
        
</div>
    
</form>
</body>
</html>--%>

或者在在新建aspx時,勾選「選擇主版頁」
原文地址:https://www.cnblogs.com/scottckt/p/1187370.html