Asp.Net Mvc之模型注解

正文:

命名空间:

using System.ComponentModel;
     using System.ComponentModel.DataAnnotations;

在实体对象的属性上贴上相对应的特性标签(本质是通过反射得到特性标签的类实例,再进行相对应的业务逻辑处理判断),由于通过EntityFrameWork生成的xx.tt模板每次生成操作之后都会覆盖掉原有的修改,所以使用以下方法来对类对象贴上特性标签而且也保证不会被模板覆盖:

新建一个类(这里叫StudentView)

新建一个partial的Student类,这里的Student.cs的命名空间要和xx.tt模板的Student类的命名空间保持一致:

下图是xx.tt模板的Student类文件:

Note:在using System.ComponentModel.DataAnnotations;下有很多个特性标签可以使用;

上图在System.Web.Mvc命名空间下的Remote特性标签作用是发Ajax请求到指定路径判断返回一个string确定是"true"还是"false",注意使用提交方式为post,使用get会有缓存的影响;

接下来配合一系列由HtmlHelper提供的帮助方法实现展示:比如下图写法

使用强类型:

在上图中,@Html.DropDownListFor()中使用了两个ViewBag的传值:

getSetInfo()和getClassInfo()的内容就是注释的内容;

除此之外,还需要添加非嵌入式脚本的引用,这里我加到了ViewStart.cshtml文件下(此文件会在每个view的最上方渲染)

Note:在webconfig文件下的appSettings需要注意两个子节点的配置

需要打开非嵌入脚本和客户端检测的开关(true),默认是true.

一般情况下在客户端检查合法性之外,在后台也需要再次检测:

ModelState.AddModelError()的错误信息会在@Html.ValidationSummary()显示.

补充一下关于View()的东西:

可以根据全路径返回视图.

在页面接收一个集合使用IEnumerable<T>强类型:

时间: 2024-07-31 00:13:43

Asp.Net Mvc之模型注解的相关文章

ASP.NET MVC数组模型绑定

在ASP.NET MVC中使用Razor语法可以在视图中方便地展示数组,如果要进行数组模型绑定,会遇到索引断裂问题,如下示例: <input type="text" name="[0].Name" /> <input type="text" name="[1].Name" /> <input type="text" name="[2].Name" />

ASP.NET MVC编程——模型

1 ViewModel 是一种专门提供给View使用的模型,使用ViewModel的理由是实体或领域模型所包含的属性比View使用的多或少,这种情况下实体或领域模型不适合View使用. 2模型绑定 默认模型绑定器 通过DefaultModelBinder解析客户端传来的数据,为控制器的操作参数列表赋值.   显示模型绑定 使用UpdateModel和TryUpdateModel显示绑定模型,不会检验未绑定字段. 使用UpdateModel方法绑定模型时,如果绑定失败就会抛异常,而TryUpdat

ASP.Net MVC Model(模型+验证)

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 模型就是处理业务,想要保存.创建.更新.删除的对象. 注解(通过特性实现) DisplayName Required StringLength(20,MinimumLength=2) DataType(System.ComponentModel.DataAnnotations.DataType.MultilineText) RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-

asp.net mvc常用的数据注解和验证以及entity framework数据映射

终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生, 在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.T

ASP.NET没有魔法——ASP.NET MVC 模型绑定解析(上篇)

前面文章介绍了ASP.NET MVC中的模型绑定和验证功能,本着ASP.NET MVC没有魔法的精神,本章内容将从代码的角度对ASP.NET MVC如何完成模型的绑定和验证进行分析,已了解其原理. 本文的主要内容有: ● ModelBinder ● ValuePrivoder ● ModelMetadata ● 简单模型与复杂模型 ● 小结 ModelBinder ModelBinder是ASP. NET MVC用于模型绑定的核心组件,所有的ModelBinder都实现了IModelBinder

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第一章:创建基本的MVC Web站点

在这一章中,我们将学习如何使用基架快速搭建和运行一个简单的Microsoft ASP.NET MVC Web站点.在我们马上投入学习和编码之前,我们首先了解一些有关ASP.NET MVC和Entity Framework的背景信息,然后再详细学习如何搭建开发环境. 1.1 MVC和ASP.NET MVC 这本书涵盖Microsoft版本的MVC,即ASP.NET MVC.在写本书的时候,ASP.NET MVC的生产版本为MVC5,因此,本书的示例代码都使用ASP.NET MVC 5编写.在本书中

全网最全ASP.NET MVC 教程汇总

全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口.本文从Why,What,How三个角度整理MVC 的学习资源,让学习者第一时间找到最有价值的文章,获取最彻底的ASp.NET MVC 框架知识,Let’s go! 1. Why :为什么需要ASP.NET MVC 本章主要为大家汇总了为什么学习Asp.net MV

ASP.NET MVC 04 - 控制器

PS: 唉.本来这一篇前几天早就应该发了的,可是谁每月没有那么几天啊... 呵呵.开个玩笑.反正就是各种烦气,所以也就一直没上来继续发了. 年底了,摆正一下心态吧.好好干,整点钱,过年回家能跟亲朋好友好好装装逼啊是不.哈哈. 本篇目录: 1. 控制器的角色 1.1 控制器简史 2. 控制器基础 2.1 简单示例:HomeController 2.2 创建第一个控制器 2.2.1 创建新控制器 2.2.2 编写操作方法 2.2.3 经验总结 3. 小结 ▁▃▅ 控制器 ▅▃▁ 本篇将阐述ASP.N

控制器(Controller) &ndash; ASP.NET MVC 4 系列

       创建一个 ASP.NET MVC 4 Web Application 项目,将程序命名为 MvcMusicStore,如下图: 控制器        MVC 模式中,控制器主要负责响应用户的输入.并且在响应时修改模型.提供相关视图的输出数据.        请求的 URL 首先被路由机制截获,以决定实例化哪一个控制器,调用哪个操作方法,并未该方法提供需要的参数.然后,控制器的方法决定使用哪个视图,并对该视图进行渲染.        添加一个新的 Empty 控制器,命名为 Stor