先講解URL結構
MVC 網址並不是依照資料夾名稱分層,而是依照Controller 前面的名稱和該控制器底下的 Action Method 名稱組合而成,以斜線分開。
例如: https://localhost:44357/Home/Index
路徑: \Controllers\HomeController.cs
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_634,h_172/http://timshyue.com/wp-content/uploads/2020/08/image-19.png)
每一個Controller都會對應到一個View裡面的資料夾
例如HomeController對應到/Views/Home/
每一個Action 可以對應到該資料夾內同樣名稱的cshtml檔
以上圖為例(HomeController => Index )
對應到的就是 Views\Home\Index.cshtml
再來要講解View 的配置
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_346,h_207/http://timshyue.com/wp-content/uploads/2020/08/image-20.png)
_ViewStart.cshtml ,是用於選擇預設整體版面的,也就是選擇layout的
當然在各自的view裡面可以直接下說要使用哪一個layout
\Views\Shared\_Layout.cshtml ,這個是預設layout ,可以把像head 與body 預設的東西打在這裡,例如script與css引用、menu的清單,View的放置位子(用RenderBody())
![](https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img,w_771,h_542/http://timshyue.com/wp-content/uploads/2020/08/image-21.png)
MVC 的執行順序
controller => action => _viewStart.cshtml =>_layout.cshtml =>index.cshtml