SiteMapPath是ASP.NET 2.0 版包含导航控件中的一种,其它还包括 Menu 控件和TreeView 控件,这些控件使导航菜单的创建、自定义和维护变得很容易导航控件的一种。 1、创建.sitemap文件,其实就是一个xml文件,包括有着层次结构的<siteMapNode>元素
<?
xml version="1.0" encoding="utf-8"
?>
< siteMap xmlns ="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > < siteMapNode url ="~/SiteMap/Test.aspx#1" title ="首页" description ="首页描述" > < siteMapNode url ="~/SiteMap/Test.aspx#2" title ="频道1" description ="频道1描述" /> < siteMapNode url ="~/SiteMap/Test.aspx#3" title ="频道2" description ="频道2描述" /> < siteMapNode siteMapFile ="WebChild.sitemap" > </ siteMapNode > < siteMapNode url ="~/SiteMap/Test.aspx#4" title ="频道4" description ="频道4描述" /> </ siteMapNode > </ siteMap >
<?
xml version="1.0" encoding="utf-8"
?>
< siteMap xmlns ="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > < siteMapNode url ="~/SiteMap/Test.aspx#5" title ="频道3" description ="频道3" > < siteMapNode url ="~/SiteMap/Test.aspx#6" title ="栏目1" description ="栏目1描述" /> < siteMapNode url ="~/SiteMap/Test.aspx#7" title ="栏目2" description ="栏目2描述" /> < siteMapNode url ="~/SiteMap/Test.aspx#8" title ="栏目3" description ="栏目3描述" /> </ siteMapNode > </ siteMap >
<%
@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Test.aspx.cs"
Inherits="SiteMap_Test" Title="站点地图测试" %> < asp:Content ID ="Content1" ContentPlaceHolderID ="ContentPlaceHolder1" runat ="Server" > < p > < asp:TreeView ID ="TreeView1" runat ="server" DataSourceID ="SiteMapDataSource1" > </ asp:TreeView > < asp:Menu ID ="Menu1" runat ="server" DataSourceID ="SiteMapDataSource2" Orientation ="Horizontal" > </ asp:Menu > <% --显示根节点的数据源-- %> < asp:SiteMapDataSource ID ="SiteMapDataSource1" runat ="server" SiteMapProvider ="XmlSiteMapProviderTest" /> <% --不显示根节点的数据源-- %> < asp:SiteMapDataSource ID ="SiteMapDataSource2" runat ="server" SiteMapProvider ="XmlSiteMapProviderTest" ShowStartingNode ="false" /> </ p > < p > 编码方式访问节点信息如下 < br /> < asp:Label ID ="lbl" runat ="server" BackColor ="#DDDDDD" /> </ p > </ asp:Content >
using
System;
using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class SiteMap_Test : System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) { // 获取当前节点的Title lbl.Text= "当前节点标题:"+ SiteMap.CurrentNode.Title+ "<br />"; // 取得url为“~/Default.aspx”的SiteMapNode SiteMapNode smn= SiteMap.Provider.FindSiteMapNode("~/Default.aspx"); lbl.Text+= "Default.aspx节点的Url:"+ smn.Url; } }
<
configuration
>
< appSettings /> < connectionStrings > < add name ="SqlConnectionString" connectionString ="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True" /> </ connectionStrings > < system .web > < siteMap enabled ="true" defaultProvider ="XmlSiteMapProvider" > < providers > < add name ="XmlSiteMapProvider" type ="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile ="~/Web.sitemap" /> < add name ="XmlSiteMapProviderTest" type ="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" siteMapFile ="~/Sitemap/Web.sitemap" /> < add name ="SqlSiteMapProvider" type ="SqlSiteMapProvider" connectionStringName ="SqlConnectionString" /> </ providers > </ siteMap > </ system.web > </ configuration > |
SiteMapPath 使用例子
最新推荐文章于 2024-08-12 11:26:24 发布
SiteMapPath 使用例子
2008-10-15 13:32