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的方式来生成站点地图。
新手勿喷~
转载于:https://www.cnblogs.com/oyc1992/p/MvcSiteMapProvider.html
Mvc中使用MvcSiteMapProvider实现站点地图之基础篇相关推荐
- 谷歌地图应用——基础篇之入门
示范代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- 在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)
对于游戏公司而言,采用游戏脚本lua.python等进行开发也很常见,但是很多童鞋对脚本并没有很熟悉的概念,本篇则向大家简单介绍脚本的用途以及在Cocos2dx基础用法: Lua和python这些详细 ...
- Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)
有时候在项目开发时,经常会遇到一些耗时操作导致界面迟缓卡顿,为了解决这个问题,可以创建多线程,使用主线程更新界面使用子线程实时处理数据,最后将结果显示到界面上. PyQt多线程将使用QThread函数 ...
- idea中java文件怎么运行_Java入门基础篇-如何在Java中创建只读文件
本文选自千锋教育<Java语言程序设计>,如需转载请注明出处,谢谢! 1.如何创建只读文件 要使文件只读,我们只要将文件属性更改为只读就行:可以使用File类的setReadOnly()方 ...
- java中file类乱,【JAVA SE基础篇】47.file类的方法
1.file类的方法 1.getName():获取文件名 2.getPath():获取文件路径,设定是相对路径得到的就是相对路径,绝对路径同里 3.getAbsolutePath():获取文件绝对路径 ...
- python集合类型中的元素是有序的_python基础篇:很有意思的数据类型,集合(set) 常用去去重...
Python集合(set),是一个很有意思的数据结构.从形式上看,它像字典有key但没有value,它的写法是这样的s = {'a', 'b', 'c'},是不是像一个没有value的字典?另一方面, ...
- java中practice_【Java语言程序设计(基础篇)第10版 练习题答案】Practice_9_5
(使用公历类 GregorianCalendar)Java API 有一个在包 java.util 中的类 GregorianCalendar ,可以使用它获得某个日期的年.月.日.它的无参构造方法构 ...
- python中查看关键字需要在python解释器中执行_python从零开始--(02)--基础篇
继续我们的学习 今天我们需要学的内容是: 1.input,print (输入,输出). 2.变量. 3.python中的数学运算符. (另外,我们需要在这个过程中学会python解释器使用) 打开解 ...
- 关于ASP.NET 中站点地图sitemap 的使用
在ASP.NET MVC 如此火热的时期,我竟然不适时宜的谈起ASP.NET ,恐怕会引来一阵嘲笑.最为无趣的是,讲解的竟然还是其中的一个控件.oh~~ my god!my out! ^_^ Si ...
最新文章
- OpenCV+python:像素运算
- 第八节 字符串的插入
- ejs模板引擎的使用
- 这道题你怎么看?长春理工大学2021电子竞赛
- java数组转换成字符串,附小技巧
- python cursor游标_第二十三天 python中游标的使用
- 设计模式-结构型模式-装饰模式
- JAVA编程规范总结
- oracle vm传输,XML 传输 - Oracle VM Server for SPARC 2.0 管理指南
- 代码下移快捷键_收藏细看!最全面的通达信快捷键一览
- inmotion服务器账号密码,InMotionHosting如何通过SSH连接服务器
- [转]Vue Cli3 + VS Code 愉快调试
- Redis五种数据结构及常用操作指令、Redis在JAVA中如何封装使用
- 攻略:简易VBS病毒制作
- matlab基因频率是看最大值吗,基于ICA的语音信号盲分离
- 如何选购计算机的硬盘,教你如何选配电脑—硬盘篇
- 如何实现360度的手游安全防护?网易云易盾专家分享最新实践
- eclipse远程调试Java程序
- [linux] 命令输出不打印
- k8s 中部署kafka集群
热门文章
- 得到一个汉字的拼音第一个字母
- MySQL(9)主从复制与读写分离
- tortoise清理本地分支_TortoiseGit操作本地仓库的详细使用方法
- 一份不大的救命文档,一场时间与生死的接力
- 1 分钟 Serverless 部署掌上游戏机,“一行命令”找回小时候的乐趣!
- 解读云原生下的可观察性发展方向
- 拆!对比详解 Flutter Widget 和 CSS,你关心的布局原理都在这儿了
- 深度解析 | 基于DAG的分布式任务调度平台:Maat
- 三招做出页面中的节奏与韵律
- Tuomas Pirinen:创造游戏人物的8个方法