MVC异步与校验

1.Ajax.BeginForm

前端页面:必须引入js

<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>        
   <script>
        function Success(obj) {
            $('#result').val(obj.Sum);
        }
    </script>
@using (Ajax.BeginForm("CalcAdd1", "home", new AjaxOptions()//默认的post请求
        {
            OnSuccess = "Success"//回调函数名字
        }))
        {
            <input type="text" name="calc1"/>
            <span>+</span>
            <input type="text" name="calc2"/>
            <input type="submit" value="="/>
            <input type="text" id="result"/>
        }
控制器:

        public ActionResult CalcAdd1(int calc1, int calc2)
        {
            int sum = calc1 + calc2;
            var temp = new
            {
                Sum=sum
            };

            return Json(temp,JsonRequestBehavior.AllowGet);
        }

2、异步
-》两种方式:使用jquery的异步方法;使用AjaxHelper
-》行为的返回值:
如果返回纯文件,使用Content("");
如果返回Json对象,使用Json(obj,...)


AjaxOptions

HTML attribute

Confirm

data-ajax-confirm

HttpMethod

data-ajax-method

InsertionMode

data-ajax-mode *

LoadingElementDuration

data-ajax-loading-duration **

LoadingElementId

data-ajax-loading

OnBegin

data-ajax-begin

OnComplete

data-ajax-complete

OnFailure

data-ajax-failure

OnSuccess

data-ajax-success

UpdateTargetId

data-ajax-update

Url

data-ajax-url


3.校验

引入三个JS

    <script src="~/Scripts/jquery-1.7.1.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

[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表示验证成功

        @using (Html.BeginForm("Add", "Person", FormMethod.Post))
        {
            @Html.TextBoxFor(p=>p.Id)
            @Html.ValidationMessageFor(p=>p.Id)//输出错误信息
            <br/>
            @Html.TextBoxFor(p=>p.Name)
            <br/>
            <input type="submit" value="添加"/>
        }
    public class Person
    {
        [Required(ErrorMessage = "不能为空")]
        [Range(10,100,ErrorMessage = "必须是10-100间的值")]
        public int Id { get; set; }
        public string Name { get; set; }
    }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值