首頁  >  文章  >  後端開發  >  ASP.NET MVC路由配置(圖文詳解)

ASP.NET MVC路由配置(圖文詳解)

怪我咯
怪我咯原創
2017-03-30 11:48:371792瀏覽

先說一下基本的路由規則原則。基本的路由規則是從特殊到一般排列,也就是最特殊(非主流)的規則在最前面,最一般(萬金油)的規則排在最後。路由規則寫對了那照樣坐等404.

XD 先說URL的構造。

ASP.NET MVC路由配置(圖文詳解)#URL建構

命名參數規格+匿名

物件


建構路由然後新增

直接

方法重載
+匿名物件


  個人覺得第一種比較易懂,第二種方便調試,第三種寫起來比較效率吧。

2.靜態URL段


沒有佔位符路由就是現成的寫死的。 XXX/Shop/OldAction.js,response也是完全沒問題的。變數URL段(好吧這翻譯暴露智商了)

圖不貼了,結果是標題顯示為DefaultId。 #視圖

賦值沒法編譯的。


#這個用viewbag給title賦值就能很明顯看出


#4.再述預設路由

然後再回到預設路由。在路由裡直接設定參數預設值其實不是很好。語法糖寫到action參數裡面。

在這裡id和最後一段都是可變的,所以/Home/Index/dabdafdaf 等效於/Home/Index//abcdefdjldfiaeahfoeiho 等效於/Home/Index/All/Delete/Perm/. ....


6.跨命名空間路由

這個提醒一下記得引用命名空間,開啟IIS網站不然就是404。這個非常非主流,不建議瞎搞。 這樣第一個URL段不是Home的都交給第二個處理最後還可以設定這個路由找不到的話就不給後面的路由留後路啦,也就不再往下找啦。
但是這樣寫的話

陣列

排名不分先後的,如果有多個符合的路由會報錯。 然後作者提出了一種改進寫法。

7.

正規表示式
#匹配路由

約束多個URL

8.指定請求方法

9.WebForm支援

具體的可以看

使用Asp.Net4新特性路由建立WebForm應用

或官方msdn#10.MVC5的RouteAttribute首先要在路由註冊方法那裡

這樣route特性才有效.該特性有好幾個重載.還有路由約束啊,順序啊,路由名之類的.其他的還有路由前綴,路由預設值


路由限制


參數

#約束描述#範例{x:alpha}{x:bool}datetime符合日期時間值。 符合一個十進位值。位元浮點值。 :float}符合32 位元整數值。的字串。整數值。 10)}min符合最小長度的字串。整數。 :regex(^\d{3}-\d{3}-\d{4}$)}##具體的可以參考11.最後還是不爽的話自己寫類別實作IRouteConstraint的匹配方法。 ##12.訪問本地文件例如這個就用來匹配是否是用谷歌器訪問網頁的。 ##,變成瀏覽網站,然後開啟IIS Express,然後點顯示所有應用程式-點擊網站名稱-設定(applicationhost) .config)-UrlRouting節點檔名也可以用{filename}佔位符。路由裡面的routes.IgnoreRoute("{resource}.axd/{*pathInfo}");寫最前面的原因。裝moq)



##alpha #符合大寫或小寫拉丁字母字元(a-z、A-Z)
bool 符合佈林值。
##decimal
guid 符合GUID 值。
maxlength 符合具有最大長度的字串。
符合具有最小值的整數。
ASP .NET MVC 5中的屬性路由 對我來說,這樣的好處是分散了路由規則的定義。 ,我不需要跑到配置那裡定義對應的路由規則
搜尋## Module
#13.直接存取本機資源,繞過了路由系統
##最後還是再推薦Adam Freeman寫的apress.pro.asp.net.mvc.4這本書。好了。研究解析XXXX,然後淨閒扯淡。測試。

以上是ASP.NET MVC路由配置(圖文詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn