第12章 MVC中的数据访问和客户端验证_第1页
第12章 MVC中的数据访问和客户端验证_第2页
第12章 MVC中的数据访问和客户端验证_第3页
第12章 MVC中的数据访问和客户端验证_第4页
第12章 MVC中的数据访问和客户端验证_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第12章章 MVC中的数据中的数据访问和客户端验证访问和客户端验证2022年3月7日星期一2Ch12 MVC中的数据访问和客户端验证中的数据访问和客户端验证12.1 实体框架开发模式和技术实体框架开发模式和技术12.2 数据验证与强类型视图数据验证与强类型视图12.3 MVC中的数据访问和验证示例中的数据访问和验证示例 2022年3月7日星期一312.1 实体框架开发模式和技术实体框架开发模式和技术l实体框架开发模式实体框架开发模式数据库优先(数据库优先(Database First):):u先创建数据库,然后根据数据库生成实体数据模型先创建数据库,然后根据数据库生成实体数据模型模型优先(模

2、型优先(Model First):):u先创建实体模型,然后根据实体数据模型生成数据库先创建实体模型,然后根据实体数据模型生成数据库代码优先(代码优先(Code First):):u先编写数据模型代码,然后根据代码生成数据库,或者先编写数据模型代码,然后根据代码生成数据库,或者根据数据库编写代码根据数据库编写代码Entity Framework的三种开发模式的三种开发模式采用数据库优先开发模式创建实体数据模型采用数据库优先开发模式创建实体数据模型l【例【例12-1】演示数据库优先开发模式的基本用法。】演示数据库优先开发模式的基本用法。l该例子需要经过以下步骤。该例子需要经过以下步骤。1创建新项

3、目创建新项目2修改数据库结构修改数据库结构3创建实体框架模型创建实体框架模型4生成模型生成模型5添加控制器和视图添加控制器和视图6运行程序运行程序7添加主菜单链接添加主菜单链接2022年3月7日星期一5采用代码优先开发模式创建和访问数据库采用代码优先开发模式创建和访问数据库l【例【例12-2】演示代码采用优先开发模式的创建实体模型的基本】演示代码采用优先开发模式的创建实体模型的基本用法。用法。l1创建实体模型创建实体模型(1)创建学生实体)创建学生实体(2)创建课程实体)创建课程实体(3)创建成绩实体)创建成绩实体(4)创建数据库上下文)创建数据库上下文(5)自定义数据库连接字符串)自定义数据

4、库连接字符串(6)初始化数据库中的数据)初始化数据库中的数据(7)数据库初始化表达式)数据库初始化表达式(8)生成项目)生成项目2022年3月7日星期一6采用代码优先开发模式创建和访问数据库采用代码优先开发模式创建和访问数据库l2添加控制器和视图添加控制器和视图(1)创建控制器)创建控制器(2)修改布局页)修改布局页2022年3月7日星期一712.2 数据验证与强类型视图数据验证与强类型视图l12.1 使用特性控制显示格式和验证规则使用特性控制显示格使用特性控制显示格式和验证规则使用特性控制显示格式和验证规则式和验证规则1DisplayFormat特性特性DisplayFormat(DataF

5、ormatString = 0:yyyy-MM-dd, ApplyFormatInEditMode = true) public DateTime BirthDate get; set; 2022年3月7日星期一812.1 使用特性控制显示格式和验证规则使用特性控使用特性控制显示格式和验证规则使用特性控制显示格式和验证规则制显示格式和验证规则l2MaxLength、MinLength、StringLength特性特性MaxLength指定用户可输入的最多字符个数;指定用户可输入的最多字符个数;MaxLength指定要求用户输入的最少字符个数;指定要求用户输入的最少字符个数;StringLeng

6、th 规定用户能输入的最多字符个数和最少字符个数。规定用户能输入的最多字符个数和最少字符个数。例如:例如:StringLength(8, MinimumLength = 8, ErrorMessage = 学号必须学号必须为为8位位)public string StudentID get; set; 2022年3月7日星期一912.1 使用特性控制显示格式和验证规则使用使用特性控制显示格式和验证规则使用特性控制显示格式和验证规则特性控制显示格式和验证规则l3Column特性特性该特性用于指定将类或属性映射到数据库表的字段时,表中保存的字该特性用于指定将类或属性映射到数据库表的字段时,表中保存的

7、字段名。例如:段名。例如:Column(FirstName) public string FirstMidName get; set; l4Required和和Display特性特性Required:要求必须输入字段信息。:要求必须输入字段信息。Display:在页面中显示的名称。例如:在页面中显示的名称。例如:Required(ErrorMessage = 姓名不能为空姓名不能为空)Display(Name = 姓名姓名)MaxLength(50)public string StudentName get; set; 2022年3月7日星期一10l5Key特性特性该特性用于指定主键。该特性用

8、于指定主键。l6DatabaseGenerated特性特性用于指定主键是数据库自动生成还是由用户定义。枚举值有:用于指定主键是数据库自动生成还是由用户定义。枚举值有:DatabaseGeneratedOption.None:插新行时,由用户定义主键的值插新行时,由用户定义主键的值DatabaseGeneratedOption.Identity:插新行时,由数据库自动生成主键的值;插新行时,由数据库自动生成主键的值;DatabaseGeneratedOption. Computed:插入或更新行时,由数据库自动生成主键的值。插入或更新行时,由数据库自动生成主键的值。2022年3月7日星期一111

9、3.1 使用特性控制显示格式和验证规则使用使用特性控制显示格式和验证规则使用特性控制显示格式和验证规则特性控制显示格式和验证规则12.2.2 动态类型视图和强类型视图动态类型视图和强类型视图l1动态类型视图动态类型视图不指定模型的类型,不指定模型的类型,MVC便自动生成一个动态类型视图。例如:便自动生成一个动态类型视图。例如: ViewBag.Title = Index;l2强类型视图强类型视图当创建一个强类型视图时,该视图的第当创建一个强类型视图时,该视图的第1行会自动添加一个行会自动添加一个model标标记。下面先看一下自动生成的记。下面先看一下自动生成的ViewsStudent文件夹下的

10、文件夹下的Index.cshtml中第中第1行的内容:行的内容:model IEnumerable model被用作生成类的类型参数。被用作生成类的类型参数。2022年3月7日星期一1212.3 MVC中的数据访问和验证示例中的数据访问和验证示例 l12.3.1 修改与学生管理有关的控制器和视图修改与学生管理有关的控制器和视图【例【例13-3】演示在代码优先开发模式下修改与学生管理有关的控】演示在代码优先开发模式下修改与学生管理有关的控制器和视图的基本用法。制器和视图的基本用法。该例子需要经过以下步骤。该例子需要经过以下步骤。1修改索引页修改索引页2修改修改“新建新建”相关的功能相关的功能3修

11、改修改“查看查看”详细信息相关的功能详细信息相关的功能4修改修改“编辑编辑”相关的功能相关的功能5修改修改“删除删除”相关的功能相关的功能2022年3月7日星期一132022年3月7日星期一1412.3.2 利用利用WebGrid帮助器实现分页和排序帮助器实现分页和排序【例【例13-4】演示用】演示用WebGrid帮助器实现分页和排序的基本用法。帮助器实现分页和排序的基本用法。2022年3月7日星期一1512.3.3 为学生信息页添加搜索框为学生信息页添加搜索框【例【例12-5】在学生信息页中,添加一个姓名搜索框,演示将】在学生信息页中,添加一个姓名搜索框,演示将搜索信息从视图传递给控制器的方法。搜索信息从视图传递给控制器的方法。2022年3月7日星期一1612.3.4 使用模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论