Asp.net MVC2学习笔记1-Route

(我注:最近想学学微软的MVC框架,从网上找来的教程,感觉挺好的,所以就转载过来,希望想学习的朋友都能学好MVC的框架。)

 

 

MVC2 框架安装完成以后我们就可以开始我们的 MVC之旅了,呵呵

 

本次学习内容:Route

  

首先 route 的中文意思就是我们常说的“路由”,确实这里也是这个意思,在我们MVC中已经不再使用 XX.aspx 来访问页面了,

所有页面的请求会通过route来解析找到对应的控制器(controller)里面对应的操作(action)来执行的。

  

mvcapplication项目新建完成后,会默认生成一个 route,在 Global.asax.cs 文件中,我们可以看到

 

 

 

代码

routes.MapRoute 方法就是提供给我们映射一个路由的,我们可以看到默认路由的参数和自带的参数解释:

 

1、Default:路由名称

 

2、{controller}/{action}/{id}:这是 url 解析格式,大括号括起来的是需要解析的参数 {controller}是找到对应的控制器,{action}是控制器里面的对应的方法,{id}是默认提供的一个参数名,类似我们以往的 http://xXX.com/abc.aspx?id=XXX 这url里面的id参数。这里就是根据URL格式找到控制器和执行哪个action的重点:

http://localhost:12345/Home/Index/2,这里则根据上面的规则解析,找到Home这个controller,并执行home里面的Index 方法,并且方法参数id的值是2

 

3、new { controller = "Home", action = "Index", id = "" }:是默认的参数,当没有指定{controller}时,默认 "Home"这个控制器,当没有指定 {action}时,默认"Index" 这个执行方法,类似的 id 就是如果没有指定{id},则使用这里的值"" 

 

 

上面就是对默认的一个映射参数的解释,也就是默认的一个解析URL格式的配置,呵呵,微软这个功能实在太妙了,这样就把业务逻辑和页面分开了,我们可以通过修改这里的配置,来解析URL执行我们想要执行的业务代码、展示页面。

 

下面我们可以自己定义一个规则来解析我们所需要的url格式 如:

 

 

 

代码

 

 

 

这里我为新添加的一个 route 起了个名字 叫 "myRoute",

我规定的 url 格式 是 "myRoute/{dt}",刚才上面提到 被大括号括起来的值是参数,而不括起来的则可以看成字符串,后面dt 是一个参数,这里我没有在这个规则上写上{controller} 和 {action}2个参数,这时系统就会找到下面默认提供的参数

"new { controller = "MyController", action = "MyAction" } "  默认控制器 是 "MyController"(注意:控制器的名称叫MyController,实际上类名叫MyControllerController,这点需要注意,否则报404错误。),默认方法是 "MyAction",好,这样我们就添加上了我们自定义规则的路由;

 

下面就是需要添加 MyController 控制器 和 MyAction 方法;

 

 代码

  

 

这里可以看到MyAction 方法里面接收一个 DateTime 类型的 dt,就是我们规则里面的 {dt}这个参数,

启动我们程序后,在地址栏里输入 http://localhost:2235/myRoute/2010-1-10

就可以看到页面输出:

 

 

 

MyController's MyAction is Workded!2010年01月10日

 

 

 

大家是不是感觉route 很爽了,感觉用起来随心所欲嘛,嘿嘿~   

 

此文转自:http://www.cnblogs.com/bboy/archive/2010/01/10/1643712.html

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值