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>强类型:

转载于:https://www.cnblogs.com/Francis-YZR/p/4788667.html

Asp.Net Mvc之模型注解相关推荐

  1. ASP.NET MVC 2 模型验证

    2019独角兽企业重金招聘Python工程师标准>>> [原文地址]ASP.NET MVC 2: Model Validation  [原文发表日期] Friday, January ...

  2. 第三章 ASP.NET MVC (模型绑定)

    一.约定胜于配置 ASP.NET有一个默认模型绑定机制,当点击表单中submit按钮或a标签时,会将相应表单的数据提交并跳转到到action内指定的网址或href属性内指定的网址,当跳转到指定网址前, ...

  3. ASP.NET MVC 自定义模型绑定1 - 自动把以英文逗号分隔的 ID 字符串绑定成 Listint...

    直接贴代码了: CommaSeparatedModelBinder.cs using System; using System.Collections; using System.Collection ...

  4. ASP.NET MVC教程:理解模型、视图和控制器(1)

    本文对ASP.NET MVC的模型.视图和控制器做一次高级概述,换句话说,就是解释ASP.NET MVC中的"M""V""C".阅读完本文后 ...

  5. [翻译:ASP.NET MVC 教程]理解模型、视图和控制器

    本篇教程为你提供了ASP.NET MVC的模型.视图和控制器的高级概述.换句话说,即本文向你解释了在ASP.NET MVC中"M"."V"和"C&qu ...

  6. ASP.NET MVC V2 Preview 1 发布 期望VS有更好的表现

    ASP.NET MVC V2 Preview 1官方首页:http://aspnet.codeplex.com/ 在这里可以下载 以下是网友的转载,介绍的还是比较详细的: 预览版是在.NET 3.5 ...

  7. Asp.net MVC 教程汇总

     自学MVC看这里--全网最全ASP.NET MVC 教程汇总 MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想 ...

  8. ASP.NET MVC 教程学习

    1. Why :为什么需要ASP.NET MVC 本章主要为大家汇总了为什么学习Asp.net MVC替代WebForms,产生ASP.NET MVC 的需求是什么,只有更好的理解了为什么需要MVC, ...

  9. ASP.NET MVC电影网 毕业设计

    一.数据库添加 本电影网数据库设计分为:管理员表,普通用户表,会员具体信息表,电影列表,电影类别列表, 管理员表(Admin) 名称 类型 是否为空 id Int 自增1 NO admin_id(用户 ...

最新文章

  1. 去分库分表的亿级数据NewSQL实践之旅
  2. 刘烨:家里官方语言是中文 听不懂娘仨说法语
  3. linux postgresql默认安装目录,PostgreSQL for Linux 安装方式
  4. js 字符串减去字符串_js关于字符串、条件语句和自加和自减
  5. 1787: [Ahoi2008]Meet 紧急集合
  6. 父类调用子类中的方法
  7. 分布式环境下,怎么保证线程安全
  8. 华为紧急调试鸿蒙;首个 5G 全覆盖国家诞生;Flutter 1.7 正式发布 | 极客头条
  9. 航拍+AI︱paddlepaddle图像分割实现天空风格迁移(换天、漂浮城堡、宇宙飞船)
  10. Js模拟select选择框,参照IE8样式
  11. 电脑大小写怎么切换_电脑键盘上的三个灯都起什么作用
  12. mysql alisql_初次安装aliSql
  13. Python 进阶之路
  14. NI-VISA监听收发命令 同步或异步读写 示例C和C#源码National Instruments程控电源操作步骤安捷伦
  15. 360 网站服务器漏洞扫描,360Webscan
  16. 深度学习FlappyBird环境搭建
  17. 流程控制的三个练习题的问题,请求解释,谢谢
  18. 快速获取SAS数据集观测数
  19. mac安装虚拟机VMware fusion12 和ubantu系统
  20. android 文字大小设计,为什么设计稿的文字大小和开发的不一致

热门文章

  1. setContentView( )方法
  2. 理性预期学派(Rational Expectation School)
  3. degree of freedom of a leg of a dog
  4. Eclipse(STS) 初次搭建Spring Cloud项目之断路器Hystrix(五)
  5. Sybase中字符串替换函数 STR REPLACE
  6. 【译】为何我们要写super(props)?
  7. 猜想:企业SaaS热火之后……
  8. mysql 5.7 配置多实例 — 独立配置文件方式
  9. sublime交互执行python文件方法
  10. HP LoadRunner 12.02 Tutorial T7177-88037教程独家中文版