在asp.net mvc中,我们可以在AjaxOptions OnSuccess等中添加什么?
本文关键字:OnSuccess 添加 什么 AjaxOptions net asp mvc 我们 | 更新日期: 2023-09-27 17:50:18
我似乎无法使用jquery在DOM中引用项目。
如何在OnBegin/OnSuccess事件中显示/隐藏元素?
如何添加/删除一个css类?
您可能会使用如下内容:
<% using(Ajax.BeginForm("UpdateForm", new AjaxOptions{ OnBegin = "showIt", OnSuccess = "hideIt" })) { %>
...
<% } %>
OnBegin
和OnSuccess
是全局可见的javascript函数的名称,将在尊敬的Ajax请求阶段被调用。这些函数应该满足您的要求:
function showIt() {
// show and add a class on the same element
$("#SomeElementID").show().addClass("some-class");
}
function hideIt() {
// hide and remove class on the same element
$("#SomeElementID").hide().removeClass("some-class");
}
我不确定函数参数,因为:
- 我从来没有使用过这个功能-我只使用
HtmlHelper
扩展方法和编写自定义jQuery脚本做Ajax请求和所有的处理;从我的角度来看,一个不好的部分是那些全局函数,如果不是明确需要,通常最好避免;我也怀疑很少有少数人这样做Asp.net MVC Ajax应用程序,他们通常使用HtmlHelper
扩展和使用jQuery手动控制Ajax处理。 - Microsoft文档非常稀少,并且没有讨论函数参数(或调用上下文)
不使用全局函数,你可以编写内联匿名函数(这并不好,因为所有东西都被塞在一行字符串中,但据说可以工作):
... OnBegin = "function() { $('"#SomeElementID'").show().addClass('"some-class'"); }" ...
告诉我它是否有效
Hide Something:
$.ajax( //whatever
success: function() { $('.classToShow').show(); }
)
删除类:
$.ajax( //whatever
success: function() { $('#hideSomething').removeClass('aClass'); }
//addClass to add
)
OnBegin吗?
你说的是before吗?
$.ajax( //whatever
beforeSend: function() { $('#hideSomething').removeClass('aClass'); }
//addClass to add
)
你确定你引用的是jquery而不是msaajax吗?