asp.net 2.0中使用sitemapDATAsource做頁面導航
在ASP.NET 2.0中,沒有專門的頁面導航控制元件,但可以使用SITEMAPdatasource配和DATALIST來實現。
SITEMAPDATASOURCE控制元件中,需要特別的建立一個web.sitemap的XML檔案,該檔案中存貯網站的結構,
比如
<?xml version="1.0" encoding="utf-8" ?>
<siteMapNode url="default.aspx?id=-1" title="首頁">
<siteMapNode url="default2.aspx?id=0" title="商品"/>
<siteMapNode url="default3.aspx?id=1" title="社群"/>
</siteMapNode>
</siteMap>
之後,在default.aspx中,寫入程式碼:
<%@ Page Language="C#" %>
<script runat=server>
protected void Page_Load()
{
int index = -1;
Int32.TryParse(Request.QueryString["id"], out index);
Tabs.SelectedIndex = index;
}
</script>
<head id="Head1" runat="server">
<title>Untitled Page</title>
<style>
a
{
color: #000000;
text-decoration: none;
}
.myTab
{
background: #6666ff;
padding: 4px;
}
.myTabSelected
{
background: #ff00ff;
padding: 4px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<asp:DataList RepeatDirection=Horizontal ID="Tabs" runat="server" DataSourceID="SiteMapDataSource1">
<ItemTemplate>
<td width="4" height="20" valign="top" nowrap class="myTab">
<a href='<%# Eval("Url") %>'><%# Eval("Title") %></a>
</td>
</ItemTemplate>
<SelectedItemTemplate>
<td width="4" height="20" valign="top" nowrap class="myTabSelected">
<a href='<%# Eval("Url") %>'><%# Eval("Title") %></a>
</td>
</SelectedItemTemplate>
</asp:DataList>
</table>
<asp:SiteMapDataSource ShowStartingNode=false ID="SiteMapDataSource1" runat="server" />
</div>
</form>
</body>
</html>
就可以實現簡單的頁面導航的效果了