leo*_*ora 6 asp.net-mvc jquery
我已经慢慢地从microssoft ajax转移到jquery所有我的ajax东西.我唯一留下的是一些使用Ajax.Beingform使用microsoft ajax发布的表单.这是一个asp.net mvc网站,所以提交应该调用控制器post post.
将此转换为jquery的最简单方法是什么,因此我可以删除对microsoft ajax的引用.
如果你有一个看起来像这样的表单,最简单的方法是使用jQuery Form插件来实现大部分功能:
<%= Ajax.Form(new AjaxOptions {
Url = theUrl,
Method = theMethod,
Confirm = confirmFunction,
InsertionMode = InsertionMode.Before,
OnBegin = onBegin,
OnComplete = onComplete,
OnFailure = onFailure,
OnSuccess = onSuccess,
UpdateTargetId = elementId,
LoadingElementId = loadingElementId
});
Run Code Online (Sandbox Code Playgroud)
这将对应于以下形式的插件调用: -
$("#yourFormId").ajaxForm({
url : theUrl,
type : theMethod,
beforeSubmit : confirmFunction,
beforeSend : onBegin,
complete : onComplete,
success : onSuccess,
error : onFailure
});
Run Code Online (Sandbox Code Playgroud)
唯一的问题是复制LoadingElementId,UpdateTargetId和InsertionMode属性.
如果要复制InsertionMode.Replace,可以将其他目标选项传递给ajaxForm插件.如果要复制剩余的功能,则必须编写自己的beforeSend,success和complete事件处理程序.
类似下面的内容将使用InsertionMode.Before模拟表单,UpdateTargetId ="Test",LoadingElementId ="Loader": -
$("#yourFormId").ajaxForm({
beforeSend : function() { $("#Loader").show(); },
complete : function() { $("#Loader").hide(); },
success: function(result) { $(result).prependTo("#Test"); }
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1972 次 |
| 最近记录: |