1. 程式人生 > >asp.net 2.0中使用sitemapDATAsource做頁面導航

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>


就可以實現簡單的頁面導航的效果了