MVC之路由

对于一个ASP.NET MVC应用来说,针对HTTP请求的处理实现在目标 Controller 类型的某个Action方法中,每个HTTP请求不再像ASP.NET Web Forms 应用一样是针对一个物理文件,而是针对某个Controller的某个Action方法。目标 Controller 和Action 的名称由 HTTP请求的URL来决定,当ASP.NETMVC接收到抵达的请求后,其首要任务就是通过当前HTTP请求的解析得到目标 Controller和Action 的名称,这个过程是通过ASP.NET MVC的路由系统来实现的。我们通过如下几个对象构建了一个简易的路由系统。

  1. RouteData
    ASP.NET 定义了一个全局的路由表,路由表中的每个 Route 对象包含一个路由模板。目标Controller 和Action的名称可以通过路由变量以占位符(比如“(controller)”和“[action”)的形式定义在模板中,也可以作为路由对象的默认值(无须出现在路由模板中)。对于每一个抵达的HTTP请求,路由系统会遍历路由表并找到一个具有与当前请求URL 模式相匹配的 Route对象,然后利用它解析出以 Controller 和 Action名称为核心的路由数据。在我们自建的 ASP.NETMVC框架中,通过路由解析得到的路由数据通过具有如下定义的 RouteData类型表示。
public class RouteData
{
   
public IDictionary<string, object>   Values {
    get; private set; )
public IDictionary<string, object >  DataTokens 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值