.NET Core第7天_MVC專案跟空專案創建出來比較_跟.net MVC專案做小比較
這是.net core 空專案創建出來預設項目
.NET Core MVC專案創建方式
可以看到預設直接選擇MVC類型專案會幫我們自動建立出Model,Controller,View的folder
當中的HomeController.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | using AppNetCore5MVC.Models; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; namespace AppNetCore5MVC.Controllers { public class HomeController : Controller { private readonly ILogger<HomeController> _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } public IActionResult Index() { return View(); } public IActionResult Privacy() { return View(); } [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public IActionResult Error() { return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier }); } } } |
跟以前的asp.net mvc 專案中Controller跟View互動有點類似
差別在於.net core MVC的Action是用IActionResult
而.net MVC以前是用ActionResult
而在View目錄下也是一樣的cshtml
也是跟以前.net mvc一樣的ViewData使用方式
這裡我們就來練習自行創建Controlller跟相應的View、Model暖個身
對Controller目錄右鍵->控制器(Ctrl-M、Ctrl-C )
暫時先選空白的就好了
更名一下(一樣維持Controller後綴)
就可以看到剛串見出來的空白控制器BookController.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace AppNetCore5MVC.Controllers { public class BookController : Controller { public IActionResult Index() { return View(); } } } |
所以基本上如果要訪問到導向至Book的Index畫面
mvc中路由機制會是要這樣子訪問
http://<server>/book/index
這裡創建對應的View
切至你命名的控制器類別(BookController.cs)對該Action方法 右鍵->新增檢視
就可自動產生出View
這裡稍微調整一下產生的Index 比較好識別
在預設專案樣本中存放在Shared目錄中的_Layout.cshtml
為主要的網站導覽母頁
這裡比照上面導向Home對應的View方式擴增Book的子頁
基本上就能夠看到導向到Book Index頁面的效果
這裡可以嘗試在新增一個Action不再畫面上顯示的
在運行時就可以再次驗證路由的機制
有Controoler跟View了就來探討Model吧
其實Model跟.net mvc 以前的Model也是差不多概念
也有區分成所謂的Detail(單一筆的細節)跟List(多筆的清單)
下一篇先來介紹如何簡單導入MVC前置動作
留言
張貼留言