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:
default.aspx.cs:
MasterPage.master:
MasterPage.master.cs:
StyleSheet.cs:
Web.sitemap:
Web.config:
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.
position
:
absolute
;
04.
top
:
0px
;
05.
left
:
0px
;
06.
width
:
780px
;
07.
height
:
80px
;
08.
padding
:
10px
;
09.
}
10.
11.
div#nav
12.
{
13.
position
:
absolute
;
14.
left
:
0px
;
15.
top
:
100px
;
16.
width
:
180px
;
17.
height
:
580px
;
18.
padding
:
10px
;
19.
}
20.
21.
div#body
22.
{
23.
position
:
absolute
;
24.
left
:
200px
;
25.
top
:
100px
;
26.
width
:
580px
;
27.
height
:
580px
;
28.
padding
:
10px
;
29.
}
Web.sitemap:
1.
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
2.
<
siteMap
xmlns
=
"http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"
>
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.
-->
10.
<
configuration
xmlns
=
"http://schemas.microsoft.com/.NetConfiguration/v2.0"
>
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
>