MVC3学习 七 Razor使用、路由模块、框架自带校验
razor的使用
在razor视图中,可以直接用自带方法判断和转换某个变量的数据类型。如:
@if("123".IsInt()) //判断类型 { } @myInt="123".AsInt(); //转换类型
路由模块
路由规则:1、路由可以有多条。2、路由是有先后顺序的。
在添加路由时,一定要将规则越细的放在越上方,因为路由默认从第一条规则开始匹配,如果匹配到了之后,就不在向下匹配,所以,需要将规则最细的放在最上方。
routes.MapRoute(name: "Default2",//作为路由规则的key,一定不能重复url: "{controller}-{action}/{id}",//请求后台URL规则defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }//,//默认值constraints: new { controller=@"^\w+$",id=@"^\d+$"},//约束namespaces: new string[] { "MvcRazorDemo.Controllers" }//控制器命名空间的约束
路由还可以添加一些自定义的约束,如正则表达式,控制controller和参数之间的格式。
字段校验
添加校验时,可以直接在类中字段上方直接添加属性,如[Ruquired],在新建的页面时,可以选择页面的功能为哪种类型,比如:create、edit等,
选择之后页面会直接按照添加的属性,直接生成页面,非常方便。另外需要注意的是,验证功能是基础JQuery实现的,也就是说,页面中需要引入
三个JQuery文件,才可以。
代码:
[DisplayName("内容")][Required(ErrorMessage = "内容不得为空")][DataType("Textarea")][DisplayFormat(ConvertEmptyStringToNull = false)]public object Content { get; set; }
在页面中需要引入的文件:
<script src="../../Scripts/jquery-1.5.1.js" type="text/javascript"></script><script src="../../Scripts/jquery.validate.js" type="text/javascript"></script><script src="../../Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script>
在web.config文件也可以配置所有文件是否启用验证,如果为false,则项目下所有校验的功能失效。
<appSettings><add key="webpages:Version" value="1.0.0.0" /><add key="ClientValidationEnabled" value="true" /><add key="UnobtrusiveJavaScriptEnabled" value="true" /></appSettings>
也可以在页面中控制单个也是否启用校验功能。
@{Html.EnableClientValidation(false);}
上面代码的验证,只是在前台进行验证,如果用户的浏览器禁用了JavaScript脚本,则可能会失效,所以需要在controller再次进行判断,判断也非常方便,代码如下:
if (ModelState.IsValid) //如果通过验证,则进行更新。{BlogArticle cate = db.BlogArticles.Single(x => x.AId == model.AId);cate.ATitle = model.ATitle;cate.ACate = model.ACate;cate.AContent = model.AContent;db.SaveChanges();}return RedirectToAction("Index", "Home");
转载于:https://www.cnblogs.com/y8932809/p/4390032.html
MVC3学习 七 Razor使用、路由模块、框架自带校验相关推荐
- PyTorch框架学习七——自定义transforms方法
PyTorch框架学习七--自定义transforms方法 一.自定义transforms注意要素 二.自定义transforms步骤 三.自定义transforms实例:椒盐噪声 虽然前面的笔记介绍 ...
- (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码
http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...
- MVC3.0 中Razor 学习
为什么80%的码农都做不了架构师?>>> 随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现 ...
- MVC3.0 中Razor 学习 cshtml文件
随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指 ...
- 如何着手学习一个新的PHP框架
如今的PHP框架层出不穷,名气也各不相同.如何快速掌握一种框架?看看本文吧~ 如今的PHP框架层出不穷,名气也各不相同.我不是这方面的专家,甚至不能熟练地使用其中的一种,所以就不作推荐了.这里我要讨论 ...
- 基于深度学习的中文语音识别系统框架搭建
基于深度学习的中文语音识别系统框架 转自@https://blog.csdn.net/chinatelecom08/article/details/82557715 本文搭建一个完整的中文语音识别系统 ...
- 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-3.路由、模型与数据库操作
技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-3.路由.模型与数据库操作 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-1.工具和本地环境 ...
- 支持移动端深度学习的几种开源框架
原文:http://blog.csdn.net/zchang81/article/details/74280019 支持移动端深度学习的几种开源框架 1.Caffe的移动端项目 caffe项目连接如下 ...
- 【深度学习】Keras和Tensorflow框架使用区别辨析
[深度学习]Keras和Tensorflow框架使用区别辨析 文章目录 1 概述 2 Keras简介 3 Tensorflow简介 4 使用tensorflow的几个小例子 5 Keras搭建CNN ...
- 【深度学习】利用神网框架分割病理切片中的癌组织(胃)
[深度学习]利用神网框架分割病理切片中的癌组织(胃) 文章目录 1 数据描述 2 思路 3 准备数据 4 构建模型 5 模型优化 6 程序执行 7 观察结果 1 数据描述 初赛选取癌病理切片,为常规 ...
最新文章
- 启用WebApi 2里的Api描述信息(Help下的Description)
- mysql 利用binlog增量备份,还原实例
- Unexpected end of JSON input while parsing near错误解决方式(网上的方法)
- boltdb 学习和实践
- mysql数据库栏目_MySQL的一些小技巧(持续更新) - mysql数据库栏目
- 『51cto十周年庆典』社区活动大汇总
- 软件测试都需要哪些工具呢?一文带你看清
- 4. Jmeter主界面的介绍
- hashMap的快速存取
- springboot图书管理怎么实现借书时间到期提醒_东和店镇第一小学图书数字化管理先进做法...
- 我遇到的JPA中事务回滚的问题
- 关于引用外部JS文件
- sqlyog的快捷键
- js头像裁剪实现——canvas+Jcrop+jQuery
- 小数除法竖式计算过程
- 你真的了解Franka吗?一文带你揭秘Franka常见问题,你想知道的都在这里!
- 招商银行信用卡中心2018秋招数据方向笔试题
- C# 打印调试信息到DebugView
- 【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例
- 《网安学习之道》预告
热门文章
- 用tomcat搭建https
- ANGULARJS 动态编译添加到dom中
- JDBC batch批处理Statement executeBatch 具体解释
- CSS浮动元素的水平居中
- php memcache 扩展 libmemcached 安装
- 开源文本编辑器Vim的作者Bram Moolenaar推出了新的编程语言Zimbu.doc
- linux7 ftp服务器,Centos7下搭建FTP服务器
- [渝粤教育] 中国地质大学 国际贸易理论 复习题
- 【渝粤教育】广东开放大学 普通话训练 形成性考核 (48)
- 计算机视觉实战(十六)光流估计 (附完整代码)