ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 07. View的Model 和 Tag Helpers



student添加一個屬性BirthDate

而後把生成數據的地方,字段也加上

創建ViewModel



list轉換爲ViewModel




html

進一步改進代碼


StudentViewModel

HomeIndexViewModel修改成只有StudentModel一個集合的屬性



HomeIndexViewModel至關因而一個用於輸出的Model


mvc

詳情頁

查詢詳情,通常是根據一個主鍵去查找。這裏咱們先直接把這個id返回去

mvc會從多個地方找id這個參數去接受。首先會先從路由裏面找id這個參數

測試下,說明mvc框架是能夠從這個地址裏面找到這個參數的

若是參數不是int類型的就找不到了



如今接口裏面建立。它返回的類型應該是T,接收一個參數int id

實現類裏面去實現這個方法


把學生的list對象移動到外面外面了

把查出來的數據返回給前臺View

使用Resharper去建立這個視圖頁面

生成的文件夾不對,把它挪進去



直接輸入地址測試,路由參數的形式

產訊字符串的形式,/?id=1這種形式也能夠

若是都有,那麼取的是1

不信,能夠加斷點調試一下。因此路由的參數要比queryString的參數 高

拋出異常
咱們只有三條數據,那麼傳id爲5就報錯了

這裏的Model是null,因此會發生空值異常

在Controller裏面判斷,若是沒找到數據就跳轉回列表頁面
框架

列表頁加上超連接


跳不過去,轉換的時候id沒有賦值

controller裏面這裏查詢的時候漏了id

再次點擊就能夠跳轉了



之前是使用HtmlHelper

第三個參數是Controller,由於這裏使用的是本身當前這個Controller,因此只須要寫上第二個參數Action的名稱就能夠了

格式化代碼

使用匿名類加上參數

點擊能夠成功的跳轉
ide

TagHelper

使用tagHelper以前須要先建文件
在View下新建_ViewImports.cshtml.這個View不渲染任何東西,至關於提供了一堆指令,告訴這個Razor引擎這些視圖應該怎麼被渲染,而且這些View應該有哪些功能。有點引用的意思


加上這句代碼,就可使用TagHelper了

全部以asp-開頭的都是TagHelper



若是參數叫作name,就能夠這麼去寫







在詳情頁面,增長返回按鈕


 測試

相關文章
相關標籤/搜索