学习ASP.NET MVC(二) 识别URL的Routing组件

一.摘要

本篇文章从基础到深入的介绍ASP.NET MVC中的Routing组件. Routing翻译过来是"路由选择", 负责 ASP.NET MVC的第一个工作:识别URL, 将一个Url请求"路由"给Controller. 由于今天下午参加了博客园北 京俱乐部的聚会, 所以本篇文章的完工时间晚了点, 还好也是在今天发表, 总算兑现了"每日一篇"的承诺 . 不久丁学就会发布北京博客园聚会活动的资料了, 我在这里先预告了!

二.承上启下

第一篇文章中我们已经学会了如何使用ASP.NET MVC, 虽然其中还有很多的细节没有深入了解, 但是对 基本的处理流程已经有了认识:来了一个Url请求, 从中找到Controller和Action的值, 将请求传递给 Controller处理. Controller获取Model数据对象, 并且将Model传递给View, 最后View负责呈现页 面.

而Routing的作用就是负责分析Url, 从Url中识别参数, 如图:

这一讲就让我们细致的了解System.Web.Routing及其相关的扩展知识.

三.Routing的作用

第一讲中实例的首页地址是: localhost/home/index

我们发现访问上面的地址, 最后会传递给 HomeController中名为index的action(即HomeController类 中的index方法).

当然服务器端不会自己去实现这个功能,  关键点就是在Global.asax.cs文件中的下列代码:

    public static void RegisterRoutes(RouteCollection routes)
    {
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

      routes.MapRoute(
        "Default",                       // Route name
        "{controller}/{action}/{id}",              // URL with  parameters
        new { controller = "Home", action = "Index", id = "" } //  Parameter defaults
      );

    }

    protected void Application_Start()
    {
      RegisterRoutes(RouteTable.Routes);
    }

时间: 2024-08-24 12:52:25

学习ASP.NET MVC(二) 识别URL的Routing组件的相关文章

学习ASP.NET MVC系列 - 还有比这更简炼的吗?把复杂的事情变简单了,贡献啊!

转自   学习ASP.NET MVC系列: 学习ASP.NET MVC(一)--我的第一个ASP.NET MVC应用程序 学习ASP.NET MVC(二)--我的第一个ASP.NET MVC 控制器 学习ASP.NET MVC(三)--我的第一个ASP.NET MVC 视图 学习ASP.NET MVC(四)--我的第一个ASP.NET MVC 实体对象 学习ASP.NET MVC(五)--我的第一个ASP.NET MVC CURD页面 学习ASP.NET MVC(六)--我的第一个ASP.NET

学习ASP.NET MVC(三) Controller/Action 深入解析与应用实例

一.摘要 一个Url请求经过了Routing处理后会调用Controller的Action方法. 中间的过程是怎样的? Action方 法中返回ActionResult对象后,如何到达View的? 本文将讲解Controller的基本用法, 深入分析 Controller的运行机制, 并且提供了创建所有类型Action的代码. 值得学习ASP.NET MVC时参考. 二.承上启下 在上一篇文章中, 我已经学会了如何使用Routing获取Controller和Action, 随后的程序会调用 Co

七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递

通过第一天的学习之后,我们相信您已经对MVC有一些基本了解. 本节所讲的内容是在上节的基础之上,因此需要确保您是否掌握了上一节的内容.本章的目标是在今天学习结束时利用最佳实践解决方案创建一个小型的MVC项目,本节的主要目标是了解MVC之间的数据传递问题.我们会逐步深入讲解,并添加新功能,使项目越来越完善. 系列文章 七天学会ASP.NET MVC (一)--深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)--ASP.NET MVC 数据传递 七天学会ASP.NET MVC

艾伟_转载:学习 ASP.NET MVC (第一回)理论篇

本系列文章导航 学习 ASP.NET MVC (第一回)理论篇 学习 ASP.NET MVC (第二回)实战篇 学习 ASP.NET MVC (第三回)实战篇 学习 ASP.NET MVC (第四回)实战篇 学习 ASP.NET MVC (第五回)理论篇 MVC三种角色:--Model:用于存储数据的组件--View:根据Model数据进行内容展示的组件--Controller:接受并处理用户指令(操作Model),选择一个View并输出内容.Controller对View进行引用,但是View

学习ASP.NET MVC(一) 开天辟地入门篇

一.摘要 随着ASP.NET MVC 1.0版本的正式发布, 我将本系列文章也更新到了1.0, 对于已经发表的文章我都会 根据1.0版本重新编辑. 希望本系列文章能打给大家帮助. 二.前言 ASP.NET MVC是微软官方提供的开源MVC框架. 在经过了漫长的preview和2个RC版本后, 终于发布了1.0 版本.其实从RC开始ASP.NET MVC的核心代码就已经趋于稳定.所以现在开始学习ASP.NET MVC是一个很好的 时间点.学习的早,而且不用担心知识过时. 本系列教程是我在学习ASP

那些年,我还在学习asp.net(二) 学习笔记_基础应用

那些年,我还在学习asp.net(二) 那些年觉得看视频是很轻松的了解一个东西,但是这样的不足就是感觉太慢了,没有看书来得快,所以在有了一些了解后,还得看点书,也许书上的不一定好,但书上会把每一个应该说到的地方说到,好有个初步的认识.比如说.NET平台.组件等知识的介绍,所以,那些年就开始了asp.net方面的进一步学习. 一.学习asp.net的准备知识 正如我前面那些年所学习的,在开始之前得对它们有一定的认识: 1.  html语言的基本使用 2.  CSS+DIV的学习,撑握基本的布局 3

学习 ASP.NET MVC (第四回)实战篇

本系列文章导航 学习 ASP.NET MVC (第一回)理论篇 学习 ASP.NET MVC (第二回)实战篇 学习 ASP.NET MVC (第三回)实战篇 学习 ASP.NET MVC (第四回)实战篇 学习 ASP.NET MVC (第五回)理论篇 我们继续ASP.NET MVC之旅.上文中我们实现了对User信息的展示,详细信息的列表,还有错误页的实现.本文继续完成添加,修改,删除的操作.首先我们来完成Controller的代码: Code //         // GET: /Use

艾伟_转载:学习 ASP.NET MVC (第五回)理论篇

本系列文章导航 学习 ASP.NET MVC (第一回)理论篇 学习 ASP.NET MVC (第二回)实战篇 学习 ASP.NET MVC (第三回)实战篇 学习 ASP.NET MVC (第四回)实战篇 学习 ASP.NET MVC (第五回)理论篇 通过前几篇文章,我们通过ASP.NET MVC创建了一个简单的应用程序,学习了ASP.NET MVC的基本框架和工作流程.但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等.此文和大家一起学习一下ASP.NET MVC

艾伟_转载:学习 ASP.NET MVC (第四回)实战篇

本系列文章导航 学习 ASP.NET MVC (第一回)理论篇 学习 ASP.NET MVC (第二回)实战篇 学习 ASP.NET MVC (第三回)实战篇 学习 ASP.NET MVC (第四回)实战篇 学习 ASP.NET MVC (第五回)理论篇 我们继续ASP.NET MVC之旅.上文中我们实现了对User信息的展示,详细信息的列表,还有错误页的实现.本文继续完成添加,修改,删除的操作.首先我们来完成Controller的代码: Code//        // GET: /Users