程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 學習ASP.NET MVC(二) 識別URL的Routing組件

學習ASP.NET MVC(二) 識別URL的Routing組件

編輯:關於ASP.NET

一.摘要

本篇文章從基礎到深入的介紹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);
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved