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的名称就能够了
格式化代码
使用匿名类加上参数
点击能够成功的跳转
测试
使用tagHelper以前须要先建文件
在View下新建_ViewImports.cshtml.这个View不渲染任何东西,至关于提供了一堆指令,告诉这个Razor引擎这些视图应该怎么被渲染,而且这些View应该有哪些功能。有点引用的意思
加上这句代码,就可使用TagHelper了
全部以asp-开头的都是TagHelper
若是参数叫作name,就能够这么去写
在详情页面,增长返回按钮
调试