ASP.NET MVC 重点教程一周年版 第二回 UrlRouting 【转】
一、什么是UrlRouting
你可以使用UrlRouting來配置一些URL的映射,使用戶可以按你的規(guī)則來訪問網(wǎng)站.
使用UrlRouting,一定要規(guī)定URL模式,它包括一個位置標識,它將在你請求網(wǎng)頁時按這個規(guī)則返回給你內(nèi)容. 當然,這個創(chuàng)建的規(guī)則完全是由你自己定義的.
上回說道如何訪問index.aspx及about.aspx:
但是http://localhost/Views/Home/Index.aspx和 http://localhost/Views/Home/About.aspx這兩個地址并無法直接訪問以下兩個文件:
Views/Home/Index.aspx 與 Views/Home/About.aspx
這是怎么回事呢,那我們要怎樣才能訪問呢 ?
答案是:
http://localhost/Home和http://localhost/Home/About
這是為什么呢?
這就是UrlRouting的功能,而這個功能的配置是由,URL的請求規(guī)則定義的,這個規(guī)則定義在Global.asax.cs中定義。
二、基本UrlRouting規(guī)則的定義
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing;namespace MvcApplication2 {/// <summary>/// 還是老規(guī)矩,按序號看/// </summary>// Note: For instructions on enabling IIS6 or IIS7 classic mode, // visit http://go.microsoft.com/?LinkId=9394801public class MvcApplication : System.Web.HttpApplication{// 4.注意: 將1標的規(guī)則更改為 "{controller}.mvc/{action}/{id}" 即可// 自行支持 IIS6 and IIS7 兩種模式// 筆者注:一般的虛擬主機不支持.mvc,.aspx也要檢查文件存在// 變通方法為可以將.mvc換成.ashx或.asbxpublic static void RegisterRoutes(RouteCollection routes){//5、此路徑不受后面規(guī)則控制routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//1、大家可以回憶一下Controller和Action的定義//因為MVC與傳統(tǒng)Aspx的最大不同就是訪問是//訪問的Controller.Action即某類下的一個函數(shù)而不是aspx文件,//要展現(xiàn)給用戶哪一個aspx文件是由Controller決定的(即默認的同名規(guī)則)//這個是文件默認自帶的UrlRouting規(guī)則,是將Controller/Action/id的訪問//模式指向?qū)?yīng)的Controller及Actionroutes.MapRoute("Default", // Route 名稱"{controller}/{action}/{id}", // URL參數(shù)new { controller = "Home", action = "Index", id = "" } // 2、參數(shù)的默認值也就是如果各部分為空的話訪問//HomeController下的Index這個Action);}protected void Application_Start(){ //3.這個沒什么好講了,就是在應(yīng)用程序啟動時初始化它RegisterRoutes(RouteTable.Routes);}} }注意這一點ASP.NET MVC 中URLRouting只與Controller/Action有關(guān)
三、UrlRouting解決的問題
UrlRouting是為了讓Url更簡短更有意義才出現(xiàn)的,例如:
post.aspx?year=1999&month=3&day=8 的參數(shù)URL變?yōu)?
/post/1999/3/8/ 這樣的簡短漂亮且有意義的URL
而類似home/about.aspx?id=12,以示例中的Global.asax.cs中定義的{controller}/{action}/{id}規(guī)則為列
/Home/About/12其實就是訪問
Controller="Home" Action="About" 它的一個QueryString參數(shù)為 id="12"
四、UrlRouting相關(guān)資料
System.Web.Routing入門及進階 上篇
System.Web.Routing入門及進階 下篇
System.Web.Routing 的說明文檔
?
那么我們要怎么利用ASP.NET MVC編寫自己想要的頁面呢?
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的ASP.NET MVC 重点教程一周年版 第二回 UrlRouting 【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高级交换路由课程PPT下载打包了
- 下一篇: XML CDATA