当前位置:编程学习 > C#/ASP.NET >>

asp.net sitemap简单使用详解

先创建sitemap文件,右击project->add new item,弹出选项框,选择site map,选择ok。好了sitemap文件就创建好了。

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

<?xml version="1.0" encoding="utf-8" ?>
<sitemap xmlns="http://schemas.microsoft.com/asp教程net/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"/>

补充:asp.net教程,.Net开发 
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,