当前位置:主页   - 电脑 - 网站开发 - ASP.Net
ASP.NET2.0中实现主页嵌套
来源:网络   作者:天极 李宁    更新时间:2010-09-26
收藏此页】    【字号    】    【打印】    【关闭

现在的很多商业公司都设有不同的部门,而这些部门在公司的网站上都有自己的子网站。一般情况下,每一个部门都会根据自己的需要来维护各自的网站。这样做虽然会使公司的网站显得丰富多彩,但这却会对用户的访问带来不便,也就是说,由于各个部门的子网站没有保持一致性而使用户在浏览网站时造成了困难。幸运的是,ASP.NET2.0为我们提供了一种解决方案,这就是主页嵌套。

建立嵌套主页

首先需要建立一个标准的主页,在这个主页上需要加上一些共用的东西,如公司的Logo、公司名称、页脚以及菜单等,而每个部门的子网站必须使用这个标准的主页。每一个部门可以根据自己的业务需要建立各自的主页,然后将这些部门的主页嵌入刚才建立的标准中。这样做无论对最终的用户还是对每个部门都是有好处的,对于最终用户,无论他访问哪个部门的网站,都会看到同样的Logo、菜单以及页脚。而对于部门来说,他们可以自己建立一个内嵌的主页,这个主页的内容可以根据自己部门的业务需要而定。这就象是一个OCX控制嵌在网页上一样。

为了理解如何建立嵌套主页,下面让我们看一个例子。首先给出一个标准主页的例子。

以下是引用片段:
<%@MasterLanguage="C#"AutoEventWireup="true"
CodeFile="WebsiteMasterPage.master.cs"Inherits="WebsiteMasterPage"%>
<html>
<headrunat="server"id="head">
  <title>标准主页例子</title>
</head>
<body>
 <formid="form1"runat="server">
  <tablewidth="100%">
   <tr>
    <tdbgcolor="#006633"colspan="2">
     <tableborder="0"cellpadding="0"cellspacing="0"width="100%">
   <tr>
       <tdalign="left">
        <ahref=http://www.bianceng.cn/webkf/aspx/200802/"/MasterPage/Default.aspx">
         <imgalt="HomePage"border="0"src=http://www.bianceng.cn/webkf/aspx/200802/"/MasterPage/images/logo.gif"/>
        </a>
       </td>
       <tdalign="right">
        <imgsrc=http://www.bianceng.cn/webkf/aspx/200802/"/MasterPage/images/header_image.gif"/>
       </td>
      </tr>
     </table>
    </td>
   </tr>
   <tr>
    <tdwidth="25%">
     <fontcolor="#3300FF">部门1<br/>部门2<br/></font>
    </td>
    <tdwidth="75%">
      <asp:ContentPlaceHolderID="Main"runat="server">
      </asp:ContentPlaceHolder>
    </td>
   </tr>
   <tr>
    <tdcolspan="2">&nbsp;</td>
   </tr>
   <tr>
    <tdbgcolor="#0000FF"colspan="2">
       <fontcolor="#FFFF00">注脚</font>
    </td>
   </tr>
  </table>
 </form>
</body>
</html>

上面的标准主页定义了公司的Logo、注脚和菜单的位置。还定义了部门的主页要嵌入的位置(这个要使用ContentPlaceHolder控件)。部门主页的代码中和上面的代码有些不同,在部门主页的代码中需要引用上述的标准主页。这个可以通过在部门主页代码中加入MasterPageFile属性实现。下面是一个部门的主页代码:

以下是引用片段:
<%@MasterMasterPageFile="~/Templates/WebsiteMasterPage.master"Language="C#" AutoEventWireup="true"CodeFile="NestedMasterPage.master.cs" Inherits="NestedMasterPage"%>
<asp:ContentID="Content1"ContentPlaceHolderID="Main"runat="server">
<tablewidth="100%">
<tr>
  <tdstyle="background-color:BLUE;font-weight:bold;coloar:white">
         <fontcolor="#FFFF00">部门主页</font>
  </td>
 </tr>
 <tr>
  <td>
  <asp:ContentPlaceHolderID="NestedMain"runat="server"/>
  </td>
 </tr>
</table>
</asp:Content>
其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明