Asp.Net MVC part4 异步、校验、区域Area

异步
方式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();

原文地址:https://www.cnblogs.com/CSharpLover/p/6045056.html