Csharp/C#教程:如何使用Ajax.BeginForm更新div并执行javascript函数?分享


如何使用Ajax.BeginForm更新div并执行javascript函数?

我通过使用类似的东西更新部分视图的div:

 

并且它的工作正常,返回的视图被添加到div,但是我现在需要在post成功时执行javascript,所以我想:“简单,只需将OnSuccess = "MyJsFunc()"添加到AjaxOptions ,但是这样做后,它停止了工作! 现在页面被刷新,只返回部分视图:(,我甚至试过一个简单的Alert("Hi") ,它也没有工作..我怎么能让这个工作?

(顺便说一下,我认为这可能是一个重复的https://stackoverflow.com/questions/1994754/execute-javascript-after-loading-a-mvc-page-using-ajax-beginrouteform但这个问题被废弃了回答)

没有正确做到这一点的任何理由(毕竟我们在2010年)? 转储它所属的MS AJAX以及依赖它并编写正确代码的所有Ajax.*帮助程序。 虽然在经典webforms中使用MS AJAX可能是合理的,因为UpdatePanels等…今天在新的ASP.NET MVC应用程序中执行它,特别是在Microsoft完全接受jQuery之后,这似乎是一个坏主意。

所以在这之后的咆哮是我的建议:

 <% using (Html.BeginForm("Action", "Controller", new { id = Model.id }) { %> 

然后使用jquery在一个单独的文件中不引人注意地附加提交处理程序:

 $(function() { $('form').submit(function() { $.ajax({ url: this.action, type: this.method, success: function(result) { // feel free to execute any code // in the success callback $('#result').html(result); } }); return false; }); }); 

或使用优秀的jquery表单插件 :

 $(function() { $('form').ajaxForm(function(result) { // feel free to execute any code // in the success callback $('#result').html(result); }); }); 

这种方法的好处:

奖金福利:没有头痛。

我一直环顾四周,找到了答案:

将Javascript函数分配给AjaxOptions OnSuccess属性引发错误 – ASP.NET MVC (未选择答案)

引用Atzu

如果必须将任何参数传递给OnSuccess事件,则可能必须以这种方式编写函数。

 OnSuccess = "function(){exampleFunction('" + param1 + "');} 

它对我有用!

上述就是C#学习教程:如何使用Ajax.BeginForm更新div并执行javascript函数?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1030930.html

(0)
上一篇 2022年1月13日
下一篇 2022年1月13日

精彩推荐