资源描述:
《asp.net开发实例教程9.asp.netmvc路由》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、BF-TECH4.0DNET软件开发工程师高薪就业品牌课程版权所有:北风网ASP.NET4.5MVC开发实战教程讲师:石曼迪第九章ASP.NETMVC路由目录路由的意义如何定义/调试一个路由项目中路由/Area规划路由分页实例一、路由的意义Asp.netWebForm:键入URL(http://www.baidu.com/?wd=mvc%20routing%20%E5%A5%BD%E5%A4%84&rsv_bp=2&tn=baidu&rsv_spt=3&ie=utf-8&f=8&bs=mvc%20routi
2、ng%E7%9A%84%E6%84%8F%E4%B9%89&pn=110&rsv_page=1)访问的是一个页面,然后依次触发该页面的事件,执行后将结果输出到Response。Asp.netWebMVC:localhost/home/Index即可定位到Index方法,然后执行相应功能,输出到指定视图Asp.netWebMVC:路由其他意义…一、路由的意义:原理二、如何定义一个路由MVC4中将路由注册移到App_Start/RouteConfig.csMysite.comt是域名,所以首先要去掉域名部分:h
3、ome/index对应了上面代码中的这种URL结构:{controller}/{action}/{id}因为我们建立了这种Url结构的识别规则,所以能够识别出Controller是home,action是index,id没有则为默认值"".routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{controller="Home",action="Index",id=UrlParameter.Optional})
4、;1.从Url中识别出数据.比如controller,action和各种参数.2.根据识别出来的数据,将请求传递给Controller和Action.二、如何定义一个路由路由的基本重载有如下几个:name参数:规则名称,可以随意起名.当时不可以重名,否则会发生错误:路由集合中已经存在名为“Default”的路由。路由名必须是唯一的。url参数:url获取数据的规则,这里不是正则表达式,将要识别的参数括起来即可,比如:{controller}/{action}最少只需要传递name和url参数就可以建立一条R
5、outing(路由)规则.defaults参数:url参数的默认值.如果一个url只有controller:localhost/home/而且我们只建立了一条url获取数据规则:{controller}/{action}那么这时就会为action参数设置defaults参数中规定的默认值.defaults参数是Object类型,所以可以传递一个匿名类型来初始化默认值。constraints参数:用来限定每个参数的规则或Http请求的类型.constraints属性是一个RouteValueDictionar
6、y对象,也就是一个字典表,但是这个字典表的值可以有两种:用于定义正则表达式的字符串和正则表达式不区分大小写。MapRoute(stringname,stringurl);MapRoute(stringname,stringurl,objectdefaults);MapRoute(stringname,stringurl,string[]namespaces);MapRoute(stringname,stringurl,objectdefaults,objectconstraints);MapRoute(st
7、ringname,stringurl,objectdefaults,string[]namespaces);MapRoute(stringname,stringurl,objectdefaults,objectconstraints,string[]namespaces);二、如何定义一个路由constraints参数:用来限定每个参数的规则或Http请求的类型.constraints属性是一个RouteValueDictionary对象,也就是一个字典表,但是这个字典表的值可以有两种:用于定义正则表达式的
8、字符串正则表达式不区分大小写。namespaces参数:此参数对应Route.DataTokens属性.官方的解释是:获取或设置传递到路由处理程序但未用于确定该路由是否匹配URL模式的自定义值。MapRoute(stringname,stringurl,objectdefaults,objectconstraints);MapRoute(stringname,stringurl,objectdefaults,st