• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

(ASP.NETMVC学习)urlRouting使用与介绍

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Route就是路由的意思,它的工作在MVC中就是按照一定的规则解析URL,Routing也并不是ASP.NET MVC框架下的组件,是独立的,也就是说不一定只有在ASP.NET MVC下才能使用URL Routing。

Routing在ASP.NET MVC中的作用,asp.net mvc是靠Routing进行驱动使用的,并且根据在程序中定制的Routing规则解析url,在URL中可以指定的MVC中的Controller,Action,参数。

学习Routing 的定义。Routing在解析URL的时候,符号”/”和“.”被作为一个定义符来解析,而定义符之间的值则匹配到Routing中的占位符,Routing中是通过一对大括号来表示一个占位符,若无这对大括号将是常量值。例如:controller/{action}/{id}

一般情况我们都是在Global.asax文件中的Application_Start事件中添加Route规则,这样就可以在Web应用程序一执行就可以解析URL。

直接看代码吧。

var DemoDict = new RouteValueDictionary();
DemoDict["controller"] = "Home";//指定Controller默认值
DemoDict["action"] = "Index";//指定默认的Action
DemoDict["id"] = 0;

var ConstraintRouteDict = new RouteValueDictionary();
ConstraintRouteDict["controller"]=@"^\w+";//只允许是字母
ConstraintRouteDict["action"]=@"^\w+";//只允许是字母
ConstraintRouteDict["id"] = @"^\d+";//只允许是整数

var DemoRoute = new Route("{controller}/{action}/{id}", DemoDict, ConstraintRouteDict, new MvcRouteHandler());
//用MvcRouteHandler来处理捕捉到的URL,
//要将捕捉到的URL用来调用ASP.NET MVC应用程序就要用这个RouteHandler。
//如果URL Routing要用来处理其它的应用程序则就需要使用其它的RouteHandler或自定义RouteHandler

 

这种方式创建一个完整的规则,但是如果只用在MVC框架中就显得麻烦,代码还是多,在ASP.NET MVC框架中有一个RouteCollectionExtensions

类,类中有一个MapRoute()方法,可以很方便的创建Routing规则。

写法如下:

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "o" },
    new { controller="@",action=@"",id=@""}
);

另外要使用URL Routing 一定要在Web.config文件一定配置UrlRoutingModule,不然URL Routing将不可以使用,另外如果有多个Routing规则,程序是默认按照规则定义的前后顺序进行匹配规则的,如果需要知道传递过来的URL匹配到那些规则,可以使用RouteDebugger进行调试。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.netDatagrid资源发布时间:2022-07-10
下一篇:
ASP.NET网站使用Kindeditor富文本编辑器配置步骤发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap