在asp.net mvc中,我们可以在AjaxOptions OnSuccess等中添加什么?

本文关键字:OnSuccess 添加 什么 AjaxOptions net asp mvc 我们 | 更新日期: 2023-09-27 17:50:18

我似乎无法使用jquery在DOM中引用项目。

如何在OnBegin/OnSuccess事件中显示/隐藏元素?

如何添加/删除一个css类?

在asp.net mvc中,我们可以在AjaxOptions OnSuccess等中添加什么?

您可能会使用如下内容:

<% using(Ajax.BeginForm("UpdateForm", new AjaxOptions{ OnBegin = "showIt", OnSuccess = "hideIt" })) { %>
    ...
<% } %>

OnBeginOnSuccess是全局可见的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");
}

我不确定函数参数,因为:

  1. 我从来没有使用过这个功能-我只使用HtmlHelper扩展方法和编写自定义jQuery脚本做Ajax请求和所有的处理;从我的角度来看,一个不好的部分是那些全局函数,如果不是明确需要,通常最好避免;我也怀疑很少有少数人这样做Asp.net MVC Ajax应用程序,他们通常使用HtmlHelper扩展和使用jQuery手动控制Ajax处理。
  2. 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吗?