5 beta 1中,新建一个网站,之后添加上文的 web.sitemap文件,再添加一个名叫Navigation的master类型的页面,代码如下 :
<%@ Master Language="C#" %>
<html xmlns="www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Master Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table style="width: 100%; height: 100%" border="1">
<tr>
<td style="width: 10%">
<asp:TreeView ID="TreeView1" Runat="server" DataSourceID="SiteMapDataSource1"
ExpandDepth="2" ShowExpandCollapse="False" NodeIndent="10">
<LevelStyles>
<asp:TreeNodeStyle Font-Bold="True" Font-Underline="False"/>
<asp:TreeNodeStyle Font-Italic="True" Font-Underline="False" />
<asp:TreeNodeStyle Font-Size="X-Small" ImageUrl="bullet.gif" Font- Underline="False" />
</LevelStyles>
<NodeStyle ChildNodesPadding="10" />
</asp:TreeView>
</td>
<td style="width: 100px">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</td>
</tr>
</table>
<asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server"/>
</div>
</form>
</body>
</html>
在上面的代码中,其中的TREEVIEW控件中的DATASORUCE属性中,就指定了 sitemapdatasource控件,并且在treeview控件中,也定义了不同结点的样式。
在完成了masterpage页面后,就等于已经把网站的模版页建立起来了,接下 来就可以新建其他子页面,以继承masterpage页面,并且新建各自页面的内容了 。比如,新建一个default.aspx页面,代码如下:
<%@ Page Language="C#" MasterPageFile="Navigation.master" Title="Default Page"%>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1"
ID="Content1" Runat="Server">
This is the default page
</asp:Content>
可以看到,当建立了模版页后,就可以新建其他的子页面了,只需要在其中 的contentplaceholderid中写入不同的内容就可以了。运行起来后,效果如图:
接下来,我们来介绍如何将menu菜单控件和sitemapdatasource 控件配合使 用。其 中,我们在上面的例子的基础上,在<table style="width: 100%; height: 100%" border="1">下面增加如下代码就可以了,
<tr height="100px">
<td colspan="2" align="left">
<asp:Menu ID="Menu1" Runat="Server"
DataSourceID="SiteMapDataSource1">
</asp:Menu>
</td>
</tr>
其中,我们增加了一个menu控件,其中将其datasourceid属性设定为 sitemapdatasource1就可以了,运行如下图,当然,我们可以改变menu控件的显 示位置,如可以将其改成垂直样式显示。
而对于我们经常见到的显示出页面当前路径的导航条功能,在asp.net 2.0中 也可以轻易实 |