asp.net中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> |
最后在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"/> |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。