ASP.NET 站点导航主要由与站点地图数据源通信的站点地图提供程序以及公开站点地图提供程序的功能的类构成。ASP.NET 站点导航使您能够将到您所有页面的链接存储在一个中心位置,并通过包含一个用于读取站点信息的 SiteMapDataSource 控件以及用于显示站点信息的导航 Web 服务器控件(如 TreeView 或 Menu 控件)在每个页面上的列表或导航菜单中呈现这些链接。鉴于现在都不使用WebForm了,这里提到的TreeView和Menu也不会被使用,那本篇也简单带过。

Web.config中配置节stieMap可以配置站点地图的提供程序

providers节点中添加的是继承SiteMapProvider的类,默认的是XmlSiteMapProvider,他使用的siteMapFile一般是Web.sitemap 文件,例如一个siteMapFile文件内容如下

它对应的网站结构如下

配置web.config时如下

当然还可以自定义其他的网站地图数据文件格式,这样子意味着也需要实现一个SiteMapProvider。如可以定义一个txt格式的siteMap文件

这个网站的结构则是

Provider的定义可参照《文本站点地图提供程序示例

下面的代码展示如何通过SiteMapDataSource给TreeView绑定地图

SiteMapDataSouce控件默认是使用XmlSiteMapProvider作为SiteProvider,可以设置其控件的SiteMapProvider 属性或者设置其对象的Provider属性进行设置。

参考文章

siteMap 元素(ASP.NET 设置架构)

https://msdn.microsoft.com/zh-cn/library/1e333zt4(v=vs.110).aspx

ASP.NET 站点导航

https://msdn.microsoft.com/zh-cn/library/ms227558(v=vs.100).aspx

siteMap与站点导航的更多相关文章

  1. 仿SiteMap实现Asp.net 网站的菜单和权限管理

    在Asp.net中,SiteMap用于站点导航,可以与Menu等控件一起使用实现网站的菜单和权限管理.但是SiteMap提供的方法都是只读的,无法再运行时修改(菜单)导航文件,需要手动修改配置web. ...

  2. 关于ASP.NET 中站点地图sitemap 的使用

    在ASP.NET  MVC 如此火热的时期,我竟然不适时宜的谈起ASP.NET ,恐怕会引来一阵嘲笑.最为无趣的是,讲解的竟然还是其中的一个控件.oh~~  my god!my out! ^_^ Si ...

  3. ASP.NET Web Forms - 网站导航(Sitemap 文件)

    [参考]ASP.NET Web Forms - 导航 ASP.NET 带有内建的导航控件. 网站导航 维护大型网站的菜单是困难而且费时的. 在 ASP.NET 中,菜单可存储在文件中,这样易于维护.文 ...

  4. SiteMap 提交,并使用正确的方式提交给搜索引擎

    原创Sitemap收录介绍 对于网站中原创内容的网页url,站长可以将其制作成标准的Sitemap(站点地图)文件. 站长提交Sitemap文件后,好搜会使用Sitemap中的内容来了解网站结构等信息 ...

  5. 帝国CMS如何自动生成sitemap.xml网站地图文件

    登录网站的后台http://你的域名/e/admin/ 进入后台栏目 =>增加自定义页面 =>选择直接页面,页面名称为:网站地图,文件名修改为  ../../sitemap.xml 内容填 ...

  6. 生成多sitemap文件

    Thinkphp生成多sitemap文件 我们知道sitemap对于seo的重要性,很多介绍只生成一个文件sitemap.xml ,但是如果网站内容比较多,就要生成多个sitemap文件,因为搜索引擎 ...

  7. 只需三步 快速完善网站Sitemap

    越来越多的SEOer把优化的重点放在了站内优化上,细心的朋友应该查看一些前辈的robots.txt的时候不难发现,他们的robots中都加 入了一句Sitemap: http://www.dewang ...

  8. 网站SEO优化之添加Sitemap文件。

    Sitemap.xml 故名思意就是站点地图文件,可以指引Google spider 收录相应网页.正确地使用Google Sitemap,可以确保让Google spider 不遗漏网站内的任何页面 ...

  9. 分享一个在线生成站点地图SiteMap制作工具

    站点地图SiteMap的好处是很大的,对Seo很有好处,能够更方便.迅速的让搜索引擎收录.WordPress 有不少生成Google Sitemap 的工具,但是有些只是针对WordPress的系统的 ...

随机推荐

  1. 微软借力.NET开源跨平台支持,布局物联网平台开发

    今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 并且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之 ...

  2. Setting Up KeePass For Centos 6

    This mini-howto describes how to set up KeePass on Centos 6. It requires building mono from source a ...

  3. RCF进程间通信Demo程序

    在上一篇文章RPC通信框架--RCF介绍中,介绍了RCF的优点,本篇文章从头开始演示如何用RCF编写一个跨进程通信的Demo程序. 将RCF编译为静态库 从官网下载到的源码中包含一个RCF的项目,但是 ...

  4. jQuery编程的最佳实践

    好像是feedly订阅里看到的文章,读完后觉得非常不错,译之备用,多看受益. 加载jQuery 1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢.点击查看使用CDN ...

  5. C#设计模式-原型模式

    在软件系统中,当创建一个类的实例的过程很昂贵或很复杂,并且我们需要创建多个这样类的实例时,如果我们用new操作符去创建这样的类实例,这未免会增加创建类的复杂度和耗费更多的内存空间,因为这样在内存中分配 ...

  6. 蓝桥杯 十六进制转八进制(超大测试数据,java实现)

    问题描述 给定n个十六进制正整数,输出它们对应的八进制数.输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行,每行一个由0~9.大写字母A~F组成的字符串,表示要转换 ...

  7. 【CSS进阶】box-shadow 与 filter:drop-shadow 详解及奇技淫巧

    box-shadow 在前端的 CSS 编写工作想必十分常见.但是 box-shadow 除去它的常规用法,其实还存在许多不为人知的奇技淫巧. 喜欢 markdown 版本的可以戳这里. box-sh ...

  8. Rust初步(一):介绍

    最近在研究Rust这个新的语言.那么Rust是什么呢? Rust是一个注重安全与速度的现代系统编程语言,通过在没有垃圾回收的情况下保证内存安全来实现它的目标,这使它成为一个在很多其它语言不适合的用例中 ...

  9. K & DN 的前世今生(微软开源命名变革)

    一个非常有意思的 Issue:Can we rename K? 在这个 Issue 中,有大量的社区开发者讨论了微软开源命名问题,主要是 K 如何进行替换掉?看来大伙都对微软项目命名有歧义,首先,再次 ...

  10. T-Sql(七)用户权限操作(grant)

    一般数据库的权限操作我们很少用,除非一些大型的项目,需要给数据库配置不同的用户及权限,防患于未然,今天我们就来了解下t-sql中配置用户权限操作. 先看示例代码: --创建登录名 create log ...