代码改变世界

asp.net中的站点导航

2009-11-22 17:12  北冥有魚,其名為坤、  阅读(237)  评论(0编辑  收藏  举报
1.Web导航服务器控件有以下三个:
    SiteMapPath、Menu、TreeView;
2.站点地图文件(.sitemap):
    a.格式:XML;
    b.<siteMapNode>元素的属性:title、url、roles、description;
3.在页面上使用导航:
    <asp:SiteMapPath ID="SiteMapPath1" runat="server" />
4.添加菜单或树形试图需要的SiteMapDataSource控件:
    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

实例:使用站点导航

default.aspx:
1.<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
2.<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
3.</asp:Content>


default.aspx.cs:
01.using System;
02.using System.Data;
03.using System.Configuration;
04.using System.Collections;
05.using System.Web;
06.using System.Web.Security;
07.using System.Web.UI;
08.using System.Web.UI.WebControls;
09.using System.Web.UI.WebControls.WebParts;
10.using System.Web.UI.HtmlControls;
11.  
12.public partial class _Default : System.Web.UI.Page
13.{
14.    protected void Page_Load(object sender, EventArgs e)
15.    {
16.  
17.    }
18.}


MasterPage.master:
01.<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
02.  
03.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
04.  
05.<html xmlns="http://www.w3.org/1999/xhtml" >
06.<head runat="server">
07.    <link rel="Stylesheet" href="StyleSheet.css" type="text/css" />
08.    <title></title>
09.</head>
10.<body>
11.    <form id="form1" runat="server">
12.    <div id="header">
13.        <h1>
14.            <asp:Literal ID="Literal1" runat="server" Text="<%$AppSettings:SiteTitle %>" />
15.            <asp:SiteMapPath ID="SiteMapPath1" runat="server" CssClass="breadcrumb" />
16.        </h1>
17.    </div>
18.    <div id="nav">
19.        <div id="navTree">
20.            <asp:TreeView ID="TreeView1" runat="server" DataSourceID="SiteMapDataSource1" ShowLines="true" />
21.        </div>
22.        <br />
23.        <br />
24.        <asp:LoginView ID="LoginView1" runat="server">
25.            <LoggedInTemplate>
26.                You are currently logged in as
27.                <b><asp:LoginName ID="LoginName1" runat="server" /></b>
28.                <asp:LoginStatus ID="LoginStatus1" runat="server" />
29.            </LoggedInTemplate>
30.        </asp:LoginView>
31.    </div>
32.    <div id="body">
33.        <asp:contentplaceholder id="ContentPlaceHolder1" runat="server" />
34.    </div>
35.    </form>
36.    <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />
37.</body>
38.</html>


MasterPage.master.cs:
01.using System;
02.using System.Data;
03.using System.Configuration;
04.using System.Collections;
05.using System.Web;
06.using System.Web.Security;
07.using System.Web.UI;
08.using System.Web.UI.WebControls;
09.using System.Web.UI.WebControls.WebParts;
10.using System.Web.UI.HtmlControls;
11.  
12.public partial class MasterPage : System.Web.UI.MasterPage
13.{
14.    protected void Page_Load(object sender, EventArgs e)
15.    {
16.  
17.    }
18.}


StyleSheet.cs:
01.div#header
02.{
03.    positionabsolute;
04.    top0px;
05.    left0px;
06.    width780px;
07.    height80px;
08.    padding10px;
09.}
10.  
11.div#nav
12.{
13.    positionabsolute;
14.    left0px;    
15.    top100px;
16.    width180px;
17.    height580px;
18.    padding10px;
19.}
20.  
21.div#body
22.{
23.    positionabsolute;
24.    left200px;
25.    top100px;
26.    width580px;
27.    height580px;
28.    padding10px;
29.}


Web.sitemap:
1.<?xml version="1.0" encoding="utf-8" ?>
3.    <siteMapNode url="~/Default.aspx" title="Home">
4.      <siteMapNode url="~/Booker/Default.aspx" title="Meeting Room Booker" />
5.    </siteMapNode>
6.</siteMap>


Web.config:
01.<?xml version="1.0" encoding="utf-8"?>
02.<!-- 
03.    注意: 除了手动编辑此文件以外,您还可以使用 
04.    Web 管理工具来配置应用程序的设置。可以使用 Visual Studio 中的
05.     “网站”->“Asp.Net 配置”选项。
06.    设置和注释的完整列表在 
07.    machine.config.comments 中,该文件通常位于 
08.    \Windows\Microsoft.Net\Framework\v2.x\Config 中
09.-->
11.    <appSettings>
12.      <add key="SiteTitle" value="Demo Site"/>
13.    </appSettings>
14.    <connectionStrings/>
15.    <system.web>
16.        <!-- 
17.            设置 compilation debug="true" 将调试符号插入
18.            已编译的页面中。但由于这会 
19.            影响性能,因此只在开发过程中将此值 
20.            设置为 true。
21.        -->
22.        <compilation debug="false" />
23.        <!--
24.            通过 <authentication> 节可以配置 ASP.NET 使用的 
25.            安全身份验证模式,
26.            以标识传入的用户。 
27.        -->
28.        <authentication mode="Windows" />
29.        <!--
30.            如果在执行请求的过程中出现未处理的错误,
31.            则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
32.            开发人员通过该节可以配置
33.            要显示的 html 错误页
34.            以代替错误堆栈跟踪。
35.  
36.        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
37.            <error statusCode="403" redirect="NoAccess.htm" />
38.            <error statusCode="404" redirect="FileNotFound.htm" />
39.        </customErrors>
40.        -->
41.    </system.web>
42.</configuration>