在mvc 项目中,我们经常会用到 Ajax.BeginForm() 标签, 它会生成一个 form 标签,但这个form 标签与 普通的 form 标签不同,它是一个ajax form 标签
Ajax.BeginForm("index","home" ,new AjaxOptions{ Confirm="",HttpMethod="post", InsertionMode=InsertionMode.Replace, LoadingElementDuration=200, LoadingElementId="tb2", OnBegin="begin", OnComplete="complete", OnFailure="error", OnSuccess="success", UpdateTargetId="tb3", Url="/home/index" })
它会生成
<form action="/" data-ajax="true" data-ajax-begin="begin" data-ajax-complete="complete" data-ajax-failure="error" data-ajax-loading="#tb2" data-ajax-loading-duration="200" data-ajax-method="post" data-ajax-mode="replace" data-ajax-success="success" data-ajax-update="#tb3" data-ajax-url="/home/index" id="form0" method="post">
</form>
这样的标签。
AjaxOptions 参数的含义依次是:
Confirm: string 类型, 获取或设置在提交请求之前显示在确认窗口中的消息
HttpMethod: string 类型 获取或设置Http请求方法( get或post)
InsertionMode: System.Web.Mvc.Ajax.InsertionMode 是个枚举 获取或设置指定响应如何将响应插入目标DOM元素的模式,
有三种, InsertionMode.InsertAfter:在元素后插入
InsertionMode.InsertBefore 在元素前插入
InsertionMode.Replace 替换元素
LoadingElementDuration:int 类型 单位毫秒, 表示在加载或隐藏元素时,动画持续的时间
LoadingElementId:stting 类型 在加载 Ajax函数时要显示的HTML元素的Id特性
OnBegin:string 类型 在更新页面之前立即调用的 javascript 函数名称
OnComplete: string 类型 在实例化相应数据之后但在更新页面之前,要调用的javascript 函数名称
OnFailure:string 类型 在页面调用失败时,要调用的javascript 函数的名称
OnSuccess:string 类型 在成功更新页面之后,要调用的javascript 函数的名称
UpdateTargetId:string 类型 获取或设置使用服务响应来更新的DOM元素的ID
Url: string 类型, 获取或设置要向其发送请求的URL