异步
方式1:使用jquery的异步函数
方式2:使用MVC的AjaxHelper
行为的返回值设置:
JsonResult对象,使用Json方法接收一个对象,在内部会完成对象的js序列化,向输出流中输出json对象
注意:使用Json方法时,默认只允许使用Post请求,如果希望支持Get方法进行异步请求,需要使用Json方法的重载,设置第二个参数JsonRequestBehavior.AllowGet

使用MVC的AjaxHelper实现异步
异步表单:Ajax.BeginForm(string actionName,Ajaxoptions ajaxOptions)
注意:需要使Form闭合,推荐使用using,否则要使用Ajax.EndForm()
需要引入jquery、jquery.unobtrusive-ajax
AjaxOptions的参数(详细见下页),主要如下
HttpMethod提交类型
Confirm提交前的回调函数,指定为一个js的function
OnSuccess提交完成后的回调函数,可以根据返回的参数确定服务器端处理情况

校验
在Model中创建类型,用于在View中作为强类型页面的类型
.NET 框架中System.ComponentModel.DataAnnotations命名空间包括了众多可用的内置验证特性,用于修饰属性,常用的四个如下:
[Required]
[StringLength]
[Range]
[RegularExpression]
属性ErrorMessage:指定错误提示信息

在View的页面中,首先指定页面强类型@model 类型
使用Html.***For(model=>model.Property)生成表单,这些表单元素中就会包含校验规则属性
引用jquery、jquery校验、jquery隐式校验3个组件
通过Html.EnableClientValidation(true);控制客户端验证的启用与禁用(mvc3中自动开启)
使用Html.ValidationMessageFor(…)显示校验信息,也可以使用Html.ValidationSummary()统一显示
点击提交按钮转到后台Action,使用ModelState.IsValid判断前台验证是否成功,如果返回true表示验证成功

区域Area
随着业务的需要,结构需求会越来越多,项目中文件越来越多,或者需要更细结构的页面路径,另外可能是多个人合作开发,有多个Web项目需要进行合并在一个网站中访问
用Areas解决上述问题,在项目中新建一个区域,就像引用另外一个项目一样,可以理解为当前项目中的子项目

在项目上右击-》添加-》Area,填写名称后确定,会在这个项目上建一组文件夹出来,就像是一个子项目
修改此文件夹下的***AreaRegistration代码,可以在这个文件中进行路由注册
在Global中进行区域路由注册:AreaRegistration.RegisterAllAreas();

Asp.Net MVC part4 异步、校验、区域Area的更多相关文章

  1. [ASP.NET MVC 小牛之路]08 - Area 使用

    ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,每个Area代表应用程序的不同功能模块.这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Cont ...

  2. 【ASP.NET MVC 学习笔记】- 09 Area的使用

    本文参考:http://www.cnblogs.com/willick/p/3331519.html 1.ASP.NET MVC允许使用 Area(区域)来组织Web应用程序,这对于大的工程非常有用, ...

  3. asp.net MVC 中呈现指定区域下的分部视图

    Html.RenderAction() 可以呈现分部视图. asp.net MVC就是有这种好处,可以将多个子视图无缝合成到一个视图上再输出,那么开发的时候,能够进行模块化开发.看上去同属一个页面上的 ...

  4. ASP.NET MVC 4 异步加载控制器

    ASP.NET 4 Developer preview中的异步操纵器 在放弃了对.NET 3的支持之后, ASP.NET MVC 4 彻底拥抱了Task类库, 你不需求再蛋疼的给每个Action写两个 ...

  5. ASP.NET MVC 文件异步上传问题处理

    最近在做一个网站,用asp.net MVC4.0来开发,今天遇到了个小问题,通过查找相关渠道解决了,在这里把这个问题写出来,问题非常简单,不喜勿喷,mark之希望可以给遇到相同问题的初学者一点帮助.我 ...

  6. Asp.Net MVC 获取当前 Controller Action Area

    获取控制器名称: ViewContext.RouteData.Values["controller"].ToString(); 获取Action名称: ViewContext.Ro ...

  7. 使用区域组织 ASP.NET MVC 应用程序

    MVC 模式可将应用程序的模型(数据)逻辑与其呈现逻辑和业务逻辑分离. 在 ASP.NET MVC 中,这种逻辑分离还在项目结构中以物理方式实现,在该项目结构中,控制器和视图保存在使用命名约定定义关系 ...

  8. 5. ASP.NET MVC 中的Areas【区域】是什么

    [PS返回上一篇:-->4.ASP.NET MVC 5.0 视图之模型绑定] 从ASP.NET MVC 2.0开始,微软就提供了一个新特性:Areas[区域].Areas仅仅是用来将大型程序拆分 ...

  9. 自学MVC看这里——全网最全ASP.NET MVC 教程汇总

    MVC架构已深得人心,微软也不甘落后,推出了Asp.net MVC.小编特意整理博客园乃至整个网络最具价值的MVC技术原创文章,为想要学习ASP.NET MVC技术的学习者提供一个整合学习入口.本文从 ...

随机推荐

  1. ShareSDK入门指南:Android 10分钟快速集成

    ShareSDK 官方已提供Android 快速集成教程,以官方教程为参考,本文重点指导大家在集成中遇到的问题. Android 快速集成官方教程:http://wiki.mob.com/Androi ...

  2. How to setup Active Directory (AD) In Windows Server 2016

    Windows Server 2016 is the newest server operating system released by Microsoft in October 12th, 201 ...

  3. Java多线程调试如何完成信息输出处理

    转载自:http://developer.51cto.com/art/201003/189078.htm Java多线程调试是很繁琐的,但是还是需要我们不断进行相关的学习.下面我们就来看看在Java多 ...

  4. IDEA中如何使用svn

    1.安装tortoiseSVN客户端时,这里一定要勾选上,否则使用时会报错. 2.安装好之后,想启用idea的SVN插件还需要在idea配置一下,file - setting 按钮打开设置界面 或者( ...

  5. 【poj3260-最少找零】多重背包+完全背包

    多重背包+完全背包. 买家:多重背包:售货员:完全背包: 开两个数组,分别计算出买家,售货员每个面额的最少张数. 最重要的是上界的处理:上界为maxw*maxw+m(maxw最大面额的纸币). (网上 ...

  6. compositionstart 、 compositionend 、 input都存在时的解决办法

    $(function () { var cpLock = true; $('#textbox').off().on({ compositionstart: function () {//中文输入开始 ...

  7. 这个命令可以看到你的cpu到底集合

      cat /proc/cpuinfo  |grep processor|awk '{print $3}'|wc -l    改变虚拟机分辨率  xrandr -s 1024x768 -r 60  或 ...

  8. Manipulating Files

    http://linuxcommand.org/lc3_lts0050.php This lesson will introduce you to the following commands: cp ...

  9. Linux指令详解useradd groupadd passwd chpasswd chage 密码修改

    Linux指令详解useradd groupadd passwd chpasswd chage 密码修改 http://speediness.blog.51cto.com/760841/1783661 ...

  10. 《JavaScript模式》精要

    P25. 如何避免eval()定义全局变量? 如: var jsstring = "var un = 1;"; eval(jsstring); console.log(typeof ...