Asp.Net MVC2.0 Url 路由入门

     本篇文章是初识Asp.Net MVC2.0 的后续的介绍。此文将从Routing未开放源代码开始,还会对Asp.Net的Url重写技术做个简单介绍。并简单介绍Asp.Net MVC2.0 Url路由技术的使用。

     Url路由是MVC很重要的核心的一部分。不过它是单独于MVC项目,而且没有开源。它作为微软的一个独立的项目抽取了出来,在Asp.Net MVC中只是引用了这个dll。新建一个MVC Web项目,打开Global.asax。我们看到系统帮我们添加了using System.Web.Routing 引用。Routing作为一个单独的dll被我们的项目引用。微软并没有对Routing进行开放源代码。所以:Asp.Net MVC是开源的,但是Routing不是开源的!

     首先讲一下Asp.Net的Url重写技术。一种最简单实现Url重写技术就是在Global.asax文件中

     protected void Application_BeginRequest(object sender, EventArgs e)
     {

         string originalUrl = Request.Url.PathAndQuery;//获取原先的Url请求(假的请求)

       //转化成真的url请求....

       HttpContext.Current.RewritePath(newurl);//将针对Url请求交给HttpContext

     }

     举个例子:一个假的Url地址:http://www.xxx.com/news/sports-2009-1-1-201.html

     看到上面的那个url其实很多情况下那不是一个真正的url,不一定存在sports-2009-1-1.html这么一个html页。我们如果在Application_BeginRequest事件中将这个url重写成这样:

http://www.xxx.com/news/sports.aspx?date=2009-1-1&id=201 这才是真正的url!

     现在开始讲Asp.Net MVC的路由机制,首先要有个观念就是:Asp.Net MVC的url地址是表现的web程序的一个逻辑的结构。新建一个Asp.Net MVC Web项目。然后按F5直接可以运行。页面会自动跳转到http://localhost:端口号/Home/Index页面。玄机还是在Global.asax中。看下面代码:

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

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional }, // 参数默认值
new string[] { "MvcDemo.Controllers" }
);

 

 

Global.asax中的RegisterRoutes方法中注册了一个名字叫:Default的路由,格式是:http://localhost:端口号/controller/action并添加了这条路由的默认值new { controller = "Home", action = "Index"}。所以我们按F5启动的时候,地址栏是:http://localhost:端口号/这个样子,则匹配到我们的这条路由,并没有具体值,就匹配了我们的默认值。页面会则自动跳转到http://localhost:端口号/Home/Index页面

先写到这,先回家吃饭!待续未完!

初识Asp.Net MVC2.0

初识Asp.Net MVC2.0【续】

Asp.Net MVC2.0 Url 路由入门---实例篇

Asp.Net MVC2.0 Url 路由入门

Asp.Net MVC3 简单入门第一季(一)环境准备

Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目

Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter

Asp.Net MVC3 简单入门第一季(四)详解Request Processing Pipeline

时间: 2024-09-05 19:20:13

Asp.Net MVC2.0 Url 路由入门的相关文章

Asp.Net MVC2.0 Url 路由入门---实例篇

     本篇主要讲述Routing组件的作用,以及举几个实例来学习Asp.Net MVC2.0 Url路由技术.      接着上一篇开始讲,我们在Global.asax中注册一条路由后,我们的请求是怎么转到相应的View的呢?Controller和Action是怎么解析的?这就是Routing组件干的事情了.      Routing的作用:它首先是获取到View传过来的请求,并解析Url请求中Controller和Action以及数据,其次他将识别出来的数据传递给Controller的Ac

asp.net 4.0 url 路由后静态文件路径问题

问题描述 在GLOBAL.ASAX文件中添加路由列表后,路由正常routes.MapPageRoute("about","about/{navigationID}/{DD}/{SS}/","~/webPage/about.aspx");问题来了,在~/webPage/about.aspx中引入的css外部文件路径出现问题1.,如果routes.MapPageRoute("about","about/{navigati

初识Asp.Net MVC2.0【续】

    之前写了点Asp.Net MVC的概念,没有实际上系统的介绍Asp.Net MVC开发方式与WebFrom 开发方式的区别.昨晚上看了访问自己blog的入口的搜索关键词大部分是冲着MVC来的,就有了冲动将自己浅薄的知识写在这里,供初学者有个浅显的认识.欢迎高手拍砖指导,希望能把一篇入门的文章写的尽善尽美. WebFrom的一个事件开发模型     浏览者发送一个url请求,如果不在使用url重写机制或静态化技术的话,url请求的是具体一个xx.aspx页面.iis将url请求交给.Net

Asp.net MVC2.0系列文章-运行Web MVC2.0 Demo

安装VS2010 首先安装VS2010,安装过程请参考文章: http://www.cnblogs.com/ywqu/archive/2010/01/27/1657450.html. 创建第一个MVC2.0程序 新建一个asp.net MVC2.0网站程序,如下图: 提示是否新建单元测试工程,选择创建Unit Test Project MVC2.0网站结构图

Asp.net MVC2.0系列文章-显示列表和详细页面操作

上一篇文章,我们简单地完成了新闻的添加操作(Asp.net MVC2.0系列文章-添 加操作)此篇文章,我们使用Asp.net MVC2.0实现新闻清单的展示和新闻详细页面 . 创建View视图Index和NewsDetails 创建新闻首页,用来显示新闻列表. 在Views/News目录下,单击右键,选择Add->View,修改相关配置如下图所 示 在生成的HTML代码中,进行相关展示方面的修改.主要代码如下: <% foreach (var item in Model) { %> &

一个完整的ASP.NET 2.0 URL重写方案[翻译]_实用技巧

这篇文章描述了一个完整的 ASP.NET 2.0 URL 重写方案.这个方案使用正则表达式来定义重写规则并解决通过虚拟 URLs 访问页面产生回发事件的一些可能的困难. 为什么要重写 URL ? 将 URL 重写方法应用到你的 ASP.Net 应用程序的两个主要原因是:可用性和可维护性. 可用性 谁都知道,相对于难于辨认的带参数的长的查询路径,用户更喜欢一些短的.简洁的 URL.任何时候,一个容易记住和敲入的路径比添加到收藏夹更有用.其次,当一个浏览器的收藏夹不可用时,记住的地址总比在搜索引擎中

一起谈.NET技术,ASP.NET MVC2.0在Tab页中实现异步无刷新分页

概述 很多地方都存在以Tab页来呈现数据的方式,比如网易.新浪.搜狐.QQ等知名的门户网站的首页,还有大家熟知的博客园首页,都是用了tab页来显示数据.大家之所以喜欢用Tab,因为它能大大的增加显示数据的空间,能在固定的空间中显示更多的数据.分页也是为了方便数据的显示,在应用系统中必不可少.这篇文章使用Jquery在ASP.NET MVC中使用Tab页,以及在Tab页中实现异步无刷新的分页功能.估计这个大家都会用得到的. 在ASP.NET MVC中实现分页,在之前的一篇博文:ASP.NET MV

php url路由入门实例_php实例

一.什么是php的路由机制 1.路由机制就是把某一个特定形式的URL结构中提炼出来系统对应的参数.举个例子,如:http://main.test.com/article/1  其中:/article/1  -> ?_m=article&id=1. 2.然后将拥有对应参数的URL转换成特定形式的URL结构,是上面的过程的逆向过程. 二.PHP的URL路由方式 总体来说就是:获取路径信息->处理路径信息 URL路由方式: 第一种是通过url参数进行映射的方式,一般是两个参数,分别代表控制器

ASP.NET 2.0移动开发入门之基础

asp.net 随着硬件的飞速发展,移动设备也如同计算机设备一样呈现出具有更好的性能.更快的处理速度和更便宜的趋势.尤其是即将到来的3G技术,将使得移动设备突破现在的带宽限制,这样我们就可以构建出许多新颖且功能强大的移动应用.现在已经有许多商业应用都开始向移动设备上进行迁移,所以对开发者来说,现在就开始移动开发的学习将是一种非常适合的时机. 当然我不可能在这例用简短的篇幅里探讨所有的用ASP.NET 2.0开发移动应用的详细过程.这篇文章将介绍一些基础的知识,这样使得你对用ASP.NET 2.0