您的位置:首页 > 编程语言 > ASP

asp.net中sitemap的简单实用

2013-10-28 22:22 453 查看
之前没有用过sitemap,最近做项目才接触到sitemap,在此记录基本用法,以备后用。

  环境:vs2008

  首先创建sitemap文件,右击project->Add new item,弹出选项框,选择Site Map,选择Ok。好了sitemap文件就创建好了。

  下面开始编辑它的内容,新建的sitemap文件中默认内容如下:

以下是代码片段:

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0%22 >

<siteMapNode url="" title="" description="">

<siteMapNode url="" title="" description="" />

<siteMapNode url="" title="" description="" />

</siteMapNode>

</siteMap>
  <siteMapNode>

  的属性:

  Url - 链接地址

  Title - 显示的标题

  Description - 描述(ToolTip)

  resourceKey - 本地化用的(要在

  节点加上这个属性enableLocalization=true)

  securityTrimmingEnabled - 是否让sitemap支持安全特性

  roles - 哪些角色可以访问当前节点,多角色用逗号隔开(需要将securityTrimmingEnabled设置为true)

  siteMapFile - 引用另一个sitemap文件

  注:应用权限的时候,Web.config中的SiteMap节点的Provider也要有相对应的配置(securityTrimmingEnabled="true")

  例:

以下是代码片段:

<siteMapNode url="" title="" description="" roles="Administrator,Manager,NormalUser">

<siteMapNode url="~/Admin/ManageUser/Manage_Users.aspx" title="Manage Users" description="" roles="Administrator" />

<siteMapNode url="~/Admin/HotelInfo/Manage_Hotels.aspx" title="Manage Hotels" description="" roles="Manager"/>

<siteMapNode url="~/Admin/RegionInfo/Region_List.aspx" title="Manage Regions" description="" roles="Administrator"/>

<siteMapNode url="~/Admin/ManageTable/Manage_SelfDetails.aspx" title="Manage Tables" description="" roles="NormalUser"/>
    其中roles是需要进行设置的,可在每个目录下的web.config中设置。

  接下来在web.config中配置sitemap,

以下是代码片段:

<siteMap defaultProvider="SiteMapProvider">

<providers>

<add name="SiteMapProvider"

type="System.Web.XmlSiteMapProvider"

securityTrimmingEnabled="true"

siteMapFile="Web.sitemap"/>

</providers>

</siteMap>
  <sitemapnode url=":add" name="SiteMapProvider" p="" <="">  最后在MasterPage中应用sitemap,

以下是代码片段:

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSourceDefault" Orientation="Horizontal">

<StaticMenuItemStyle ForeColor="White" ItemSpacing="10px" Font-Underline="false"/>

<StaticSelectedStyle ForeColor="#99FFFF" />

<DynamicSelectedStyle ForeColor="#99FFFF" />

</asp:Menu>

<asp:SiteMapDataSource ID="SiteMapDataSourceDefault" runat="server" SiteMapProvider="SiteMapProvider" ShowStartingNode="false"/>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: