返回首页
当前位置: 主页 > MVC技术 >

ASP.NET MVC Framework体验(5):路径选择

时间:2010-06-30 21:16来源:未知 作者:admin 点击:

在传统的ASP.NET应用程序中,发生一个请求之后将映射到一个.aspx文件,且会对应到一个具体的物理aspx文件。ASP.NET MVC Framework中,进入一个请求之后,不再是映射到.aspx文件,而是由MVC Framework中提供的路径选择引擎,映射到正确的Controller和Action执行请求。ASP.NET MVC Framework中URL路径映射规则定义在Global.asax中,这在一定程序上带来了很多的灵活性,如果想要修改URL应用结构的话,只需要修改一下映射规则即可,并不需要修改Controller和View中的代码,但是这仍然不够灵活。改变Global.asax代码仍然会导致应用程序的重新编译,本篇文章末尾部分将会介绍如何通过HttpModule定义映射规则在Web.config中。

理解路径选择


先看一下下面这幅图:

 


从上图中可以看到,发生一个请求之后,第一步就是路径选择,而映射规则是通过在Routes集合中添加Route实例来注册的,如:

RouteTable.Routes.Add(
      new Route
      {
        Url = "[controller]/[action]",
        Defaults = new { action = "Index"},
        RouteHandler = typeof(MvcRouteHandler)
      });

Route中有四个属性,它的定义如下:

public class Route
{
  public Route();
  public Route(string url, Type routeHandler);
  public Route(string url, object defaults, Type routeHandler);
  public object Defaults { get; set; }
  public Type RouteHandler { get; set; }
  public string Url { get; set; }
  public object Validation { get; set; }
}

其中

Url指定了请求的Url匹配规则,还定义了URL应该如何分割成(tokenized)不同的参数,URL中可替换的参数,是通过 [参数名称] 的句法来定义的。

Defaults属性定义了一个默认值的字典,可以在进来的URL并不包含某个指定的参数值的情形下使用。

RouteHandler属性定义了在URL被分割成参数,适当的路径选择规则被确定之后,应该用来处理请求的 IRouteHandler 实例。

Validation属性允许我们指定一个路径选择规则匹配需要满足的先决条件,如对参数值使用正则表达式,来过滤一个路径选择规则是否匹配。

(责任编辑:admin)

[返回顶部]
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片
推荐内容
  • ASP.NET MVC 3 Preview1发布

    下载地址: http://go.microsoft.com/fwlink/?LinkID=157073 新功能 1.Razor引擎 在新建时可以选择引擎 并且可...

  • Asp.Net MVC实践 - 探索UrlRouting并分析UrlHelper (

    用asp.net mvc 以来 ,UrlRouting 的处理就是一个非常关键的问题 , 由于使用的不小心 , 经常导致我们无法得到预期的结果 , 这的确是个很...

  • Asp.Net MVC与jQuery实现树型表格

    该控件在无限分类应用管理上用的比较多,使用方便,并支持拖拽更新分类层次。 调用JquerytreeTable插件...

  • 在Asp.net MVC中使用Repeater

    . Repeater需要手动去绑定数据。 意思是说我们要在View当中写 服务端代码,先从ViewData中取得数据,再去绑定到Repeater。 2. 如果一...

  • asp.net mvc 2自定义DropdownList控件

    asp.net mvc 2 给我们提供了强大的自定义功能,今天主要说下DropdownList自定义绑定字段显示,通过ViewData设定DropdownLis...

  • ASP.NET MVC2右键菜单和最简单分页

    右键菜单非常方便,很多时候会用到。这篇文章将使用一个JQUERY的插件在asp.net mvc中实现右键菜单。本文还将介绍一下在asp.net mvc中如何实现...