現在的很多商業公司都設有不同的部門,而這些部門在公司的網站上都有自己的子網站。一般情況下,每一個部門都會根據自己的需要來維護各自的網站。這樣做雖然會使公司的網站顯得豐富多彩,但這卻會對使用者的訪問帶來不便,也就是說,由於各個部門的子網站沒有保持一致性而使使用者在瀏覽網站時造成了困難。幸運的是,ASP.NET2.0為我們提供了一種解決方案,這就是首頁嵌套。
建立嵌套首頁
首先需要建立一個標準的首頁,在這個首頁上需要加上一些共用的東西,如公司的Logo、公司名稱、頁尾以及菜單等,而每個部門的子網站必須使用這個標準的首頁。每一個部門可以根據自己的業務需要建立各自的首頁,然後將這些部門的首頁嵌入剛才建立的標準中。這樣做無論對最終的使用者還是對每個部門都是有好處的,對於終端使用者,無論他訪問哪個部門的網站,都會看到同樣的Logo、菜單以及頁尾。而對於部門來說,他們可以自己建立一個內嵌的首頁,這個首頁的內容可以根據自己部門的業務需要而定。這就象是一個OCX控制嵌在網頁上一樣。
為了理解如何建立嵌套首頁,下面讓我們看一個例子。首先給出一個標準首頁的例子。
以下是引用片段:
<%@ Master Language="C#" AutoEventWireup="true"
CodeFile="WebsiteMasterPage.master.cs" Inherits="WebsiteMasterPage" %>
<html>
<head runat="server" id="head">
<title>標準首頁例子</title>
</head>
<body>
<form id="form1" runat="server">
<table width="100%">
<tr>
<td bgcolor="#006633" colspan="2">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left">
<a href="/MasterPage/Default.aspx">
<img alt="Home Page" border="0" src="/MasterPage/images/logo.gif" />
</a>
</td>
<td align="right">
<img src="/MasterPage/images/header_image.gif"/>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="25%">
<font color="#3300FF">部門1 <br /> 部門2 <br /></font>
</td>
<td width="75%">
<asp:ContentPlaceHolder ID="Main" runat="server">
</asp:ContentPlaceHolder>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td bgcolor="#0000FF" colspan="2">
<font color="#FFFF00">註腳</font>
</td>
</tr>
</table>
</form>
</body>
</html>