iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0
Software Development

ASP.NET MVC基礎修練:從菜開始系列 第 13

Day-13 ASP.NET MVC 之 路由

  • 分享至 

  • xImage
  •  

URL 概觀

網站大多數情況下都是通過瀏覽器的URL地址來實現的。URL地址就好比是個人的身份證號碼或街道門牌號碼,具有唯一性。
從技術的角度來看,網站的開發可以採用非MVC框架,也可以使用MVC框架。
在非MVC框架中,對於網站和文件系統的訪問,URL地址直接對應到伺服器磁碟上的具體文件
。例如,ASP.NET WebForms框架通過IIS直接訪問磁碟上的.aspx文件,
如果因為系統或操作的原因,刪除或修改了磁碟上的文件,則將導致無法訪問。
而在MVC框架中,URL地址的訪問不涉及磁碟上具體的文件,而是對應到某個類的操作方法上,這樣URL地址就變得更加邏輯化。這意味著URL地址對應到了程式碼層面,與磁碟上的文件無關。
ASP.NET MVC框架是微軟公司在ASP.NET WebForms框架之後推出的一個全新的Web應用程序開發框架。
在這個框架中,URL路由被提取為一個獨立的組件來使用,相對於ASP.NET WebForms的路由,更加靈活和易於使用。這讓開發者更好地控制和管理應用程序的URL結構,提高了程式的組織和可讀性。

路由概觀

在ASP.NET MVC中,路由是一個具有邏輯性質的元素,它涉及控制器和動作方法,並對應到處理程序的URL模式

URL模式可以包含字串(也稱為分隔符)和URL參數(與之匹配的值)。這些值和URL參數位於由斜杠/字符分隔的URL段中。

在URL模式中,我們使用大括號{}來包圍URL參數,兩個斜杠/之間構成一個URL段,
一個URL段可以定義多個URL參數,不同的URL參數之間必須使用字串分隔。以下是一個URL段的示例:
/{URL參數}字串值{URL參數}/

例如,以下URL模式:
site/{year}-{month}/{day}
是有效的URL模式,其中{year}和{month}之間使用了分隔符-。

而這個URL模式:
site/{year}{month}/{day}
則是無效的,因為{year}和{month}之間沒有使用分隔符。

在ASP.NET MVC 中,URL通常對應到控制器和操作方法上。控制器使用{controller}表示,操作方法使用{action}表示。

ASP.NET中的路由主要有以下兩個用途:

(1) 匹配傳入的URL請求,並將URL對應到指定的控制器和操作方法。這意味著我們可以直接訪問已知的URL,只需在瀏覽器的地址欄中輸入即可。
(2) 生成傳出的URL地址,這樣就可以通過該地址訪問控制器中的操作方法。這是使用URL輔助方法生成的URL地址。這允許我們在應用程序中動態生成URL地址
https://ithelp.ithome.com.tw/upload/images/20230928/20106640CllZEsZJYm.jpg

路由相關的配置,主要是在位於 App_Start 文件夾下的 RouteConfig.cs 文件中進行的。
這些配置會在 Global.asax 全局配置文件中註冊。這個過程確保了應用程序知道如何處理不同的URL請求,並將它們對應到正確的控制器和動作方法上。


上一篇
Day-12 ASP.NET MVC 之 ADO.NET 資料庫編輯功能
下一篇
Day-14 ASP.NET MVC 之 路由2
系列文
ASP.NET MVC基礎修練:從菜開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言