Mvc中使用MvcSiteMapProvider实现站点地图之基础篇
MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单、 网站地图、 站点地图路径功能,以及更多的工具。它提供配置使用一个可插入的体系结构,可以是 XML、 数据库或动态生成导航结构的能力。
如图:

在MvcSiteMapProvider 中有三种方式来实现站点地图:XML,.NET Attributes,IDynamicNodeProvider。
下面,我们先通过XML方式来实现站点地图。
1.新建Mvc4项目,选择Internet应用程序。然后通过Nuget来安装MvcSiteMapProvider,本例中使用的是Mvc4,所以需要下载MvcSiteMapProvider Mvc4。安装成功后,会出现Mvc.sitemap文件。
2.使用XML的方式需要在Mvc.sitemap文件中配置。默认配置如下:
1 <?xml version="1.0" encoding="utf-8" ?>
2 <mvcSiteMap xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0"
4 xsi:schemaLocation="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-4.0 MvcSiteMapSchema.xsd">
5
6 <mvcSiteMapNode title="Home" controller="Home" action="Index">
7 <mvcSiteMapNode title="About" controller="Home" action="About"/>
8 </mvcSiteMapNode>
9
10 </mvcSiteMap>
3.在Views文件夹下的Shared文件夹的_Layout.cshtml中,我们将Header下的<nav>下的ul 注释,然后使用@Html.MvcSiteMap().Menu() 来生成菜单。
然后在@RenderBody()上面加上 @Html.MvcSiteMap().SiteMapPath() 用来生成所谓的面包屑。
修改后的_Layout.cshtml内容如下图所示:

4.到目前为止,我们已经完成了最基础的配置,下面我们来看看效果。打开网站,可以看到生成的菜单。点击About,可以看到生成的面包屑。

本章我们简单的讲解了使用MvcSiteMapProvider的XML方式来生成站点地图,下一篇我们将深入研究以XML的方式来生成站点地图。
新手勿喷~
Mvc中使用MvcSiteMapProvider实现站点地图之基础篇的更多相关文章
- 本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善(转)
本版本延续MVC中的统一验证机制~续的这篇文章,本篇主要是对验证基类的扩展和改善 namespace Web.Mvc.Extensions { #region 验证基类 /// <summary ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- MVC借助MvcSiteMapProvider实现站点地图
使用MvcSiteMapProvider可轻松实现站点地图,俗称"面包屑".如图: 通过NuGet,输入MvcSiteMapProvider搜索,并安装. 在Mvc.sitemap ...
- 4.在MVC中使用仓储模式进行增删查改
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-using-the-repository-pattern-in-mvc/ 系列目录: ...
- 关于ASP.NET 中站点地图sitemap 的使用
在ASP.NET MVC 如此火热的时期,我竟然不适时宜的谈起ASP.NET ,恐怕会引来一阵嘲笑.最为无趣的是,讲解的竟然还是其中的一个控件.oh~~ my god!my out! ^_^ Si ...
- MVC小系列(十九)【mvc与站点地图】
我的MvcSiteMap地图主要由实体文件,XML配置文件,C#调用文件组成,当然为了前台调用方法,可以为HtmlHelper添加一个扩展方法 第一步 定义站点地图实体 public class Mv ...
- Dynamics CRM 站点地图中URL的&号编码问题
现在大多数人对站点地图的操作都通过工具来执行,但如果你使用原始的编辑XML方式,并且你的SubArea中对应的不是某个Entity而是一串URL时,要注意了你的URL中如果带有与符号即&,那就 ...
- [.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现
一.引言 在前面一专题介绍到,要让缓存生效还需要实现对AOP(面向切面编程)的支持.所以本专题将介绍了网上书店案例中AOP的实现.关于AOP的概念,大家可以参考文章:http://www.cnblog ...
- 爱上MVC3系列~开发一个站点地图(俗称面包屑)
回到目录 原来早在webform控件时代就有了SiteMap这个东西,而进行MVC时代后,我们也希望有这样一个东西,它为我们提供了不少方便,如很方便的实现页面导航的内容修改,页面导航的样式换肤等. 我 ...
随机推荐
- https://github.com/aptana/studio3/releases aptana
https://github.com/aptana/studio3/releases aptana
- information_schema.partitions 学习
1.partitions 表中的常用列说明: 1.table_schema:表所在的数据库名 2.table_name:表名 3.partition_method:表分区采用的分区方法 4.parti ...
- Effective Java从零开始 - 就是爱Java
或许你已经开始写Java了,或许只是想要一窥这个的世界,无论是抱着何种心情来看Java,从零开始,会一种没有负担,没有包袱的事,你会发现写程序不再是枯燥乏味,孤单寂寞的一个人,而是生活中最快乐的学习之 ...
- linux命令行常用快捷键
方向 <-前 后 ->删除ctrl + d 删除光标所在位置上的字符相当于VIM里x或者dlctrl + h 删除光标所在 ...
- 非常棒的Java REST服务器栈
Dropwizard 是一个开源的Java框架,用于开发OPS友好.高性能的基于REST的后端.它是由Yammer开发的,来驱动基于JVM的后端. Dropwizard提供同类最佳的Java库到一个嵌 ...
- Android性能优化典范【转】
2015年伊始,Google发布了关于Android性能优化典范的专题,一共16个短视频,每个3-5分钟,帮助开发者创建更快更优秀的Android App.课程专题不仅仅介绍了Android系统中有关 ...
- python使用get在百度搜索并保存第一页搜索结果
python使用get在百度搜索并保存第一页搜索结果 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用在意我的感受 #coding:utf-8 import ur ...
- Dynamic Flash Messages
Dynamic Flash Messages的类似软件 - 其他jQuery插件 - 开源中国社区 Dynamic Flash Messages
- Dice Notation(模拟)
Dice Notation Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu Submit ...
- LeetCode——Binary Tree Level Order Traversal II
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left ...