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以前須要先建文件
在View下新建_ViewImports.cshtml.這個View不渲染任何東西,至關於提供了一堆指令,告訴這個Razor引擎這些視圖應該怎麼被渲染,而且這些View應該有哪些功能。有點引用的意思
加上這句代碼,就可使用TagHelper了
全部以asp-開頭的都是TagHelper
若是參數叫作name,就能夠這麼去寫
在詳情頁面,增長返回按鈕
測試