asp.net中sitemap的简单实用

之前没有用过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 - 本地化用的(要在<siteMap>节点加上这个属性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>

最后在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"/>

转载于:https://www.cnblogs.com/wanghao111/archive/2011/02/11/1951647.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值