iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 5
0
Modern Web

ASP.NET MVC5架構說明與Q&A諮詢系統實作系列 第 5

[DAY 5] ASP.NET MVC 的 Default Route 介紹

Route 就是路由,路由跟網址是相輔相成的


首先執行專案
https://ithelp.ithome.com.tw/upload/images/20200917/201289695cyGnitzVw.jpg

點選關於,並觀看網址
https://ithelp.ithome.com.tw/upload/images/20200917/20128969Tn5bWykaHE.jpg

網址之所以會長這樣是由 Route 設定的規則,在專案中的 /App_Start/RouteConfig.cs
https://ithelp.ithome.com.tw/upload/images/20200917/20128969r3pjHsapO0.png

https://ithelp.ithome.com.tw/upload/images/20200917/20128969P8Q1mnfyGS.jpg

routes.MapRoute 就是註冊地址的方法,裡面有幾個參數分別為:

  • name:對這個 Route 的命名
  • url:網址條件,當網址符合這個條件特徵時,就會依據這個Route的指示去找對應執行的程式碼
  • defaults:參數的預設值

那來進行比對 (゚д゚≡゚д゚)

  • 網址:/Home/About
  • Route url:{controller}/{action}/{id}

當Route url的網址用 { } 包起來的時候,代表他是個變數
變數是一個表示值,它可以是任意的值,而 {} 裡面的字就是變數的名稱,以上述例子為例
有一個變數叫做 controller,它可以是任意的值,現在值為 Home
有一個變數叫做 action,它可以是任意得值,現在值為 About
有一個變數叫做 id,它也可以是任意的值,現在沒有值(因為程式裡定為 Optional ,所以值可有可無)


那當 id 有值會發生什麼事呢?
先停止上一次的執行,再來開啟 /Controller/HomeController
找到 About 的 Action
https://ithelp.ithome.com.tw/upload/images/20200918/201289692l6r4XhLjx.jpg

將程式碼更改,並按下中斷點
https://ithelp.ithome.com.tw/upload/images/20200918/20128969WUeSa6kkqx.png

執行,將網址後面多加 /home/about/wendy
https://ithelp.ithome.com.tw/upload/images/20200918/20128969joSqXbODc9.png

跳回來程式碼,滑鼠移到 id 這邊,會發現 wendy 的值被帶進去了 σ`∀´)σ
https://ithelp.ithome.com.tw/upload/images/20200918/20128969FAUqW6xo32.png

最後再來看網頁的結果
https://ithelp.ithome.com.tw/upload/images/20200918/20128969A6liCk3PGE.png


這邊額外說明一下網址的 localhost:50537 代表什麼意思(´◉‿◉`)?
localhost 為網址的 Domain,50537 為 Port
(Port 是建立專案時就預設好的值,可改,一般看到的網站都預設為 80,所以不會顯示於網址上)


上一篇
[DAY 4] 介紹 ASP. NET MVC 5 之方案總管
下一篇
[DAY 6] SQL Server 資料庫從安裝到操作介面 - SSMS
系列文
ASP.NET MVC5架構說明與Q&A諮詢系統實作30

尚未有邦友留言

立即登入留言