1、准在母版页上加入导航菜单功能,数据源来自站点地图。web.sitemap内容大致如下:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" enableLocalization ="true" ><siteMapNode title="主页" url="~/Default.aspx"><siteMapNode title="文章" url="~/ShowCategories.aspx"><siteMapNode title="浏览文章" url="~/BrowseArticles.aspx" /></siteMapNode><siteMapNode title="购物" url="~/ShowDepartments.aspx"><siteMapNode title="购物卡" url="~/ShoppingCart.aspx" /><siteMapNode title="订单记录" url="~/OrderHistory.aspx" /><siteMapNode title="产品浏览" url="~/BrowseProducts.aspx"></siteMapNode></siteMapNode><siteMapNode title="论坛" url="~/ShowForums.aspx"><siteMapNode title="Show Thread" url="~/ShowThread.aspx" /></siteMapNode><siteMapNode title="关于" url="~/About.aspx" /><siteMapNode title="联系" url="~/Contact.aspx" /><siteMapNode title="管理员" url="~/Admin/Default.aspx"><siteMapNode title="管理用户" url="~/Admin/ManageUsers.aspx" ><siteMapNode title="编辑用户" url="~/Admin/EditUser.aspx" /></siteMapNode><siteMapNode title="文章管理" url="~/Admin/ManageArticles.aspx" ><siteMapNode title="增加/修改 文章" url="~/Admin/AddEditArticle.aspx" /></siteMapNode></siteMapNode></siteMapNode>
</siteMap>

为什么主页节点会作为根节点,而不是同其他节点在同一层次上?实际上这是可选的,我们希望SiteMapPath控件在页面路径的最前端始终显示主页链接,所以将主页节点作为根节点。

网站根目录下新建母版页template.master,源视图代码:

<form id="form1" runat="server"><table><tr><td colspan="2" width="60%" bgcolor="#3399FF">&nbsp;</td><td><asp:LoginView ID="LoginView1" runat="server"><AnonymousTemplate><asp:Login ID="Login1" runat="server"></asp:Login></AnonymousTemplate><LoggedInTemplate><asp:LoginName ID="LoginName1" FormatString="欢迎您,{0}!" runat="server" /><br /><asp:HyperLink ID="lnkProfile" NavigateUrl="~/EditProfile.aspx" runat="server">编辑用户资料</asp:HyperLink><br/><asp:LoginStatus runat="server"></asp:LoginStatus></LoggedInTemplate></asp:LoginView></td></tr><tr><td width="20%" bgcolor="Lime">&nbsp;</td><td><asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" StaticSubMenuIndent=""></asp:Menu><asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder></td><td width="20%" bgcolor="#3366FF">&nbsp;</td></tr></table><asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /></form>

对应的设计视图:

注意:这里用了LoginView控件来决定匿名用户与登录用户呈现不同的部分。(该控件的用法请参考:http://www.cnblogs.com/netxiaochong/archive/2011/12/25/2301024.html)

menu控件的属性如下设置:

<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"
                        StaticSubMenuIndent="" Orientation="Horizontal" StaticDisplayLevels="2"></asp:Menu>

新建Default.aspx页面(若项目已有则删除后重建),并应用母版页template.master,浏览该页面,看效果:

匿名用户访问此页面的时候,以及非管理员角色(Administrators)的注册用户都是不能见到【管理员】菜单项的。

我们对web.sitemap进行相应的设置。

<siteMapNode title="管理员" url="~/Admin/Default.aspx" roles="Administrators">

还必须为网站地图注册一个新的提供程序(在web.config的<siteMap>中),设置其为securityTrimmingEnabled属性为true

提示:<siteMap>节点 位置放在<membership>之后,可能才正常!

再次运行default.aspx页面,然后用[张鲁鲁]登录系统,因为该用户属于Administrators角色,看看前后导航菜单的区别。

转载于:https://www.cnblogs.com/netxiaochong/archive/2011/12/28/2304552.html

角色与网站地图的结合相关推荐

  1. django 设置媒体url_Django设置网站地图sitemap

    1.安装 安装Sitemap APP的步骤如下: 在INSTALLED_APPS设置中添加'django.contrib.sitemaps'; 确认你的TEMPLATES设置中包含DjangoTemp ...

  2. 织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)

    织梦网站地图xml生成插件描述 1.utf8 和 gbk 有齐2种编码插件文件 2.根据自己程序编码选择对应插件,上传模块,安装,使用 3.可同时生成5种地图文件 sitemap.html  site ...

  3. 实现 ASP.NET 网站地图提供者

    ASP.NET 网站导航提供若干 Web 服务器控件用于 Web 页面中导航结构的显示:SiteMapPath,TreeView,和 Menu 控件.这些 Web 服务器控件都使用 ASP.NET 默 ...

  4. 网络推广策略带你了解网站地图Sitemap的作用是什么?

    在网站优化中,网络推广策略中的网站地图Sitemap的初心是为了方便用户浏览而建立的.最后不仅达到了提升用户体验的目的,还能逐渐吸引搜索引擎的注意,从此提升网站的收录率,实现一举两得的效果.那么网站地 ...

  5. 网络营销——网络营销专员表明网站地图助力网站收录进一步提升

    通常在网站建设中网站地图的设置是不可缺少的一项,网站地图的设置更有利于搜索引擎对网站内容更新的抓取,因此,可以说网站地图是通向站内所有链接的一个梯子.有些网站所设层次比较深让蜘蛛难以到达,而梯子的存在 ...

  6. 在网站SEO优化为何要加入网站地图?

    所谓网站的地图,就是Sitemap,能方便网站管理员通知搜索引擎在网站上进行抓取网页.搜索引擎会先爬行网站的robots文件,这个文件还包括了网站地图sitemap,那么网站地图对网站优化有什么作用, ...

  7. 浅析网站地图设置对网站的作用有哪些?

    一般来说,网站都会放置网站地图,在该网站页面中放置网站其他页面的链接,如果用户在访问网站的过程中找不到自己所需要的信息就可以借助网站地图的方式进行寻找.那么这是为什么呢?网站地图又有哪些作用呢?下面就 ...

  8. 网站地图能给网站的优化带来什么好处

    网站地图,又称站点地图,它就是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接.大多数用户在网站上找不到自己想要的信息时,网站地图能作为一种补救措施,向用户们展示不同的资料,搜索引擎也特别喜 ...

  9. 网站地图对优化的优势有哪些?

    网站地图,又称站点地图,它就是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接.为用户指明方向,并帮助迷失方向的访问者找到他们想看的页面.很多网站的链接的层次比较深,爬虫很难抓取到,站点地图 ...

最新文章

  1. 32岁程序员,补偿N+2:“谢谢裁我,让我翻倍!” 网友:榜样!
  2. Unreal Engine 4 —— 异步加载关卡的实现方法及思考
  3. Serverless 在大规模数据处理的实践
  4. Windows 下 修改 Anaconda3 jupyter 默认启动目录
  5. 每日程序C语言2-判断某日期是这一年的第几天
  6. C++:40---继承中类成员的变化关系
  7. Problem F: 结构体--学生信息排序
  8. python中lower的用法_Python lower()函数
  9. 光纤跳线接口_一文了解光纤配线架、光纤跳线、耦合器、收发器及光纤色谱顺序...
  10. python对工程造价有用吗_工程造价真的不行了吗?
  11. python判断用户名密码是否正确_Python 判断输入的用户名和密码是否正确
  12. Unity发布WebGL之后读取StreamingAssets文件路径数据
  13. Ubutu 12.04LTS 安装搜狗拼音输入法+搜狗皮肤 步骤详解
  14. 系统学习深度学习(十)--优化算法
  15. 【自监督论文阅读笔记】Green Hierarchical Vision Transformer for Masked Image Modeling
  16. 2022-2028年全球与中国马铃薯淀粉生产线行业发展趋势及竞争策略研究
  17. 神经网络实现鸢尾花分类(Tensorflow2.0)
  18. 舒老师AK的hu测 T1. 迷失沃尔玛(dp+贪心)
  19. 软件研发的项目经理都在用哪些好的设计和管理的软件工具?
  20. 图文详解!java开发面试简历模板java

热门文章

  1. 网站bin目录下的不可以放配置文件或其他可写文件
  2. market layout
  3. RDC Hydrogen
  4. 图书馆预约在线课程方法
  5. 有事情不能第一时间给父母说
  6. 一个时代的终结:为什么是时候放弃ITOM四大巨头了?这对IT领导者来说意味着什么?...
  7. spring boot actuator服务监控与管理
  8. 机器学习基础 --- numpy的基本使用
  9. 《软件技术基础》实验指导 实验五
  10. *.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z