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使用、路由模块、框架自带校验相关推荐

  1. PyTorch框架学习七——自定义transforms方法

    PyTorch框架学习七--自定义transforms方法 一.自定义transforms注意要素 二.自定义transforms步骤 三.自定义transforms实例:椒盐噪声 虽然前面的笔记介绍 ...

  2. (转)MyBatis框架的学习(七)——MyBatis逆向工程自动生成代码

    http://blog.csdn.net/yerenyuan_pku/article/details/71909325 什么是逆向工程 MyBatis的一个主要的特点就是需要程序员自己编写sql,那么 ...

  3. MVC3.0 中Razor 学习

    为什么80%的码农都做不了架构师?>>>    随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现 ...

  4. MVC3.0 中Razor 学习 cshtml文件

     随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指 ...

  5. 如何着手学习一个新的PHP框架

    如今的PHP框架层出不穷,名气也各不相同.如何快速掌握一种框架?看看本文吧~ 如今的PHP框架层出不穷,名气也各不相同.我不是这方面的专家,甚至不能熟练地使用其中的一种,所以就不作推荐了.这里我要讨论 ...

  6. 基于深度学习的中文语音识别系统框架搭建

    基于深度学习的中文语音识别系统框架 转自@https://blog.csdn.net/chinatelecom08/article/details/82557715 本文搭建一个完整的中文语音识别系统 ...

  7. 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-3.路由、模型与数据库操作

    技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-3.路由.模型与数据库操作 技能学习:学习使用php(tp6框架) + vue.js,开发前端全栈网站-1.工具和本地环境 ...

  8. 支持移动端深度学习的几种开源框架

    原文:http://blog.csdn.net/zchang81/article/details/74280019 支持移动端深度学习的几种开源框架 1.Caffe的移动端项目 caffe项目连接如下 ...

  9. 【深度学习】Keras和Tensorflow框架使用区别辨析

    [深度学习]Keras和Tensorflow框架使用区别辨析 文章目录 1 概述 2 Keras简介 3 Tensorflow简介 4 使用tensorflow的几个小例子 5 Keras搭建CNN ...

  10. 【深度学习】利用神网框架分割病理切片中的癌组织(胃)

    [深度学习]利用神网框架分割病理切片中的癌组织(胃) 文章目录 1 数据描述 2 思路 3 准备数据 4 构建模型 5 模型优化 6 程序执行 7 观察结果 1 数据描述 初赛选取癌病理切片,为常规 ...

最新文章

  1. 启用WebApi 2里的Api描述信息(Help下的Description)
  2. mysql 利用binlog增量备份,还原实例
  3. Unexpected end of JSON input while parsing near错误解决方式(网上的方法)
  4. boltdb 学习和实践
  5. mysql数据库栏目_MySQL的一些小技巧(持续更新) - mysql数据库栏目
  6. 『51cto十周年庆典』社区活动大汇总
  7. 软件测试都需要哪些工具呢?一文带你看清
  8. 4. Jmeter主界面的介绍
  9. hashMap的快速存取
  10. springboot图书管理怎么实现借书时间到期提醒_东和店镇第一小学图书数字化管理先进做法...
  11. 我遇到的JPA中事务回滚的问题
  12. 关于引用外部JS文件
  13. sqlyog的快捷键
  14. js头像裁剪实现——canvas+Jcrop+jQuery
  15. 小数除法竖式计算过程
  16. 你真的了解Franka吗?一文带你揭秘Franka常见问题,你想知道的都在这里!
  17. 招商银行信用卡中心2018秋招数据方向笔试题
  18. C# 打印调试信息到DebugView
  19. 【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例
  20. 《网安学习之道》预告

热门文章

  1. 用tomcat搭建https
  2. ANGULARJS 动态编译添加到dom中
  3. JDBC batch批处理Statement executeBatch 具体解释
  4. CSS浮动元素的水平居中
  5. php memcache 扩展 libmemcached 安装
  6. 开源文本编辑器Vim的作者Bram Moolenaar推出了新的编程语言Zimbu.doc
  7. linux7 ftp服务器,Centos7下搭建FTP服务器
  8. [渝粤教育] 中国地质大学 国际贸易理论 复习题
  9. 【渝粤教育】广东开放大学 普通话训练 形成性考核 (48)
  10. 计算机视觉实战(十六)光流估计 (附完整代码)