ASP.NET MVC路由擴充:路由映射

上周我寫了三篇文章(一、二、三)詳細地介紹了ASP.NET的路由系統。ASP.NET的路由系統旨在通過註冊URL模板與物理檔案之間的映射進而實現請求地址與檔案路徑之間的分離,但是對於ASP.NET

ASP.NET的路由系統:根據路由規則產生URL

前面我們已經提到過,ASP.NET

ASP.NET的路由系統:路由映射

總的來說,我們可以通過RouteTable的靜態屬性Routes得到一個基於應用的全域路由表,通過上面的介紹我們知道這是一個類型的RouteCollection的集合對象,我們可以通過調用它的MapPageRoute進行路由映射,即註冊URL模板與某個物理檔案的匹配關係。路由註冊的核心就是在全域路由表中添加一個Route對象,該對象的絕大部分屬性都可以通過MapPageRoute方法的相關參數來指定。接下來我們通過實現示範的方式來說明路由註冊的一些細節問題。我們已前面介紹的關於擷取天氣預報資訊的

ASP.NET的路由系統:URL與物理檔案的分離

表現為請求地址與目標Controller和Action的動態映射的URL路由系統並不是專屬於ASP.NET MVC,而是直接建立在ASP.NET 中。ASP.NET通過URL路由系統實現了請求地址與物理檔案的分離。一、URL與物理檔案的分離對於一個 ASP.NET Web Form應用來說,任何一個請求都對應著某個具體的物理檔案。部署在Web伺服器上的物理檔案可以是靜態(比如圖片和靜態HTML檔案等),也可以是動態(比如.asxp檔案)。對於靜態檔案的請求,ASP.NET直接返迴文件的整個內容;

ASP.NET MVC是如何啟動並執行(4): Action的執行

作為Controller基類ControllerBase的Execute方法的核心在於對Action方法的執行和作為方法返回的ActionResult的執行,兩者的執行是通過一個叫做ActionInvoker的組件來完成的。一、ActionInvoker我們同樣為ActionInvoker定義了一個介面IActionInvoker。如下面的代碼片斷所示,該介面定義了一個唯一的方法InvokeAction用於執行指定名稱的Action方法,該方法的第一個參數是一個表示基於當前Controller內

ASP.NET MVC是如何啟動並執行[2]: URL路由

在一個ASP.NET MVC應用來說,針對HTTP請求的處理和相應定義Controller類型的某個Action方法中,每個HTTP請求的目標對象不再像ASP .NET Web Form應用一樣是一個物理檔案,而是某個Controller的某個Action。目標Controller和Action的名稱包含在HTTP請求中,而ASP.NET MVC的首要任務就是通過當前HTTP請求的解析得到正確的Controller和Action的名稱。這個過程是通過ASP.NET

ASP.NET MVC涉及到的5個同步與非同步,你是否傻傻分不清楚?[上篇]

Action方法的執行具有兩種基本的形式,即同步執行和非同步執行,而在ASP.NETMVC的整個體系中涉及到很多同步/非同步執行方式,雖然在前面相應的文章中已經對此作了相應的介紹,為了讓讀者對此有一個整體的瞭解,我們來做一個總結性的論述。一、MvcHandler的同步與非同步對於ASP.NET

ASP.NET MVC基於標註特性的Model驗證:一個Model,多種驗證規則

對於Model驗證,理想的設計應該是情境驅動的,而不是Model(類型)驅動的,也就是對於同一個Model對象,在不同的使用情境中可能具有不同的驗證規則。舉個簡單的例子,對於一個表示應聘者的資料對象來說,針對應聘的崗位不同,肯定對應聘者的年齡、性別、專業技能等方面有不同的要求。但是ASP.NET

ASP.NET MVC基於標註特性的Model驗證:DataAnnotationsModelValidatorProvider

DataAnnotationsModelValidator最終是通過它對應的ModelValidatorProvider,即DataAnnotationsModelValidatorProvider建立的。通過前面的介紹我們知道它是AssociatedValidatorProvider的子類,後者在用於擷取ModelValidator的GetValidators方法中已經根據指定的Model中繼資料所有特性建立出來,DataAnnotationsModelValidator只需要從中篩選出繼承自

ASP.NET MVC基於標註特性的Model驗證:DataAnnotationsModelValidator

對於ASP.NET MVC基於標註特性的Model驗證,很多人只知道應用在資料類型及其屬性上用於定義驗證規則和錯誤訊息的ValidationAttribute。通過《ASP.NET MVC以ModelValidator為核心的Model驗證體系:

ASP.NET MVC基於標註特性的Model驗證:ValidationAttribute

通過前面的介紹我們知道ModelValidatorProviders的靜態唯讀Providers維護著一個全域的ModelValidatorProvider列表,最終用於Model驗證的ModelValidator都是通過這些ModelValidatorProvider來提供的。對於該列表預設包含的三種ModelValidatorProvider來說,DataAnnotationsModelValidatorProvider無疑是最重要的,ASP.NET

ASP.NET MVC以ModelValidator為核心的Model驗證體系:ModelValidatorProviders

前面篇文章我們分別介紹用真正用於實施Model驗證的ModelValidator(《ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidator》),以及用於提供ModelValidator的ModelValidatorProvider(《ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidatorProvider》),那麼對於ASP.NET

ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidatorProvider

在《ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidator》中我們介紹了ASP.NET MVC用於Model驗證的四種ModelValidator,那麼這些ModelValidator是如何被建立的呢?ASP.NET

ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidator

旨在為目標Action方法的執行綁定輸入參數的Model綁定過程伴隨著對Model的驗證。藉助相應的驗證特性,我們可以直接以聲明的方式在Model類型上定義驗證規則,這些規則將會作為Model中繼資料的一部分。具體在Model綁定過程中,ModelBinder通過ValueProvider為Model對象的某個屬性提供相應屬性值之後,會根據定義在基於該屬性的Model中繼資料的驗證規則實施驗證。ASP.NET

通過執行個體類比ASP.NET MVC的Model綁定的機制:集合+字典

在本系列的前面兩篇文章(《簡單類型+複雜類型》、《數組》)我們通過建立的執行個體程式類比了ASP.NET

通過執行個體類比ASP.NET MVC的Model綁定機制:數組

[續《通過執行個體類比ASP.NET

總頁數: 1638 1 .... 1229 1230 1231 1232 1233 .... 1638 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.