1.校验机制

我们可以在Model中使用属性进行校验

using System;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity; namespace MvcMovie.Models
{
public class Movie
{
public int ID { get; set; }
[StringLength(,MinimumLength = )]
[Required]
public string Title { get; set; } // 添加命名空间
// Display属性,修改属性名称
[Display(Name ="Release Date")]
// 该属性值类型限定
[DataType(DataType.Date)]
// 限定格式
[DisplayFormat(DataFormatString ="{0:yyyy-MM-dd}",ApplyFormatInEditMode = true)]
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
[Range(,)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
} public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}

坑:https://blog.csdn.net/yzamo/article/details/38901141

这里做的校验是客户端进行的校验,校验失败的数据不会被提交到服务器

2.服务器端校验

当浏览器禁用js无法在客户端进行校验时,需要进行服务端的校验。

当我们主动禁用浏览器js脚本执行后,也能够进行服务器端的校验

3.C#处理异常

使用try-catch语句处理异常

int x = ;
try{
int y = /;
}
catch(NullReferenceException e)
{
Console.WriteLine(e.Message);
throw;
}
catch(DivideByZeroException e)
{
Console.WriteLine(e.Message);
throw;
}
finally { Console.log("you will see this msg finally") }

catch的错误类型从上到下依次匹配。

模糊匹配请使用Exception

Exception消耗较大,比较占用资源

MVC06的更多相关文章

  1. 快速入门系列--MVC--06视图

    到了View的呈现板块,感觉ASP.NET MVC的学习也进入了尾声,还是比较开心的,毕竟也有了不小收获.这部分内容相对比较简单,因为之前还专门学习过如何结合HTML5与MVC框架.前文中提到过,Ac ...

  2. MVC-06 安装部署

    部署网站往往是一件麻烦事,因为在安装部署的过程中,经常有许多步骤要运行,对于许多不太熟悉IIS/SQL的新手来说,部署网站编程一件非常困难且危险的事.Visual Studio 2012在ASP.NE ...

  3. 快速入门系列--MVC--01概述

    虽然使用MVC已经不少年,相关技术的学习进行了多次,但是很多技术思路的理解其实都不够深入.其实就在MVC框架中有很多设计模式和设计思路的体现,例如DependencyResolver类就包含我们常见的 ...

  4. 快速入门系列--MVC--02路由

    现在补上URL路由的学习,至于蒋老师自建的MVC小引擎和相关案例就放在论文提交后再实践咯.通过ASP.NET的路由系统,可以完成请求URL与物理文件的分离,其优点是:灵活性.可读性.SEO优化.接下来 ...

  5. 快速入门系列--MVC--07与HTML5移动开发的结合

    现在移动互联网的盛行,跨平台并兼容不同设备的HTML5越来越盛行,很多公司都在将自己过去的非HTML5网站应用渐进式的转化为HTML5应用,使得一套代码可以兼容不同的物理终端设备和浏览器,极大的提高了 ...

随机推荐

  1. 实战_4:UI开发工具-WindowBuilder

    介绍: WindowBuilder是谷歌开发的,开发java图形界面的工具,是一个eclipse插件. WindowBuilder支持开发多种形式的图形界面:SWT/JFace.Swing.GWT 安 ...

  2. iOS 有关二维码

    一.把相应的URL生成二维码 利用有关图像变成的框架 #import <CoreImage/CoreImage.h> 步骤:实例化二维码滤镜---->恢复滤镜属性---->将字 ...

  3. [LC] 271. Encode and Decode Strings

    Design an algorithm to encode a list of strings to a string. The encoded string is then sent over th ...

  4. 编译安装 logstash-output-jdbc

    环境 mac https://github.com/theangryangel/logstash-output-jdbc logstash-plugin install logstash-output ...

  5. docker常用的命令-在自己心情低落的时候,告诫自己不要把负能量带给别人。

    daocker基础命令:https://www.cnblogs.com/xiaowenshu/p/10474746.html 一.Docker常用命令 安装部署好Dokcer后,执行的命令是docke ...

  6. Box and Ball

    题目描述 We have N boxes, numbered 1 through N. At first, box 1 contains one red ball, and each of the o ...

  7. android采用MVP漫画APP、适配刘海屏、小黄车主界面、录音波浪动画、综合APP等源码

    Android精选源码 一款采用MVP架构的仿完整漫画APP源码 Android适配刘海屏幕 基于Xmpp协议的即时通讯社交软件(客户端+服务端) Android小黄车(ofo)app主页菜单效果 一 ...

  8. 树形dp(最小支配集)

    http://poj.org/problem?id=3659 #include<iostream> #include<cstring> #include<algorith ...

  9. 学会使用数据讲故事——Excel研究网络研讨会

    编者按:在数据密集型研究的新时代,Excel将成为研究者讲故事的强大工具.在即将举行的Excel研究网络研讨会中,我们将与你探讨如何用新的方式来寻找.查询.分析数据并实现数据可视化.Office 36 ...

  10. java中的锁——列队同步器

    队列同步器 队列同步器(AbstractQueuedSynchronizer)为实现依赖于先进先出 (FIFO) 等待队列的阻塞锁和相关同步器(信号量.事件,等等)提供一个框架.此类的设计目标是成为依 ...