c# – Ajax.BeginForm似乎重定向动作完成

c# – Ajax.BeginForm似乎重定向动作完成,第1张

概述我目前正在开发.net mvc 3应用程序.这是问题所在.出于某种原因,虽然我正在使用Ajax.BeginForm并且正在调用正确的 *** 作,但在 *** 作完成后,它正在尝试重定向到另一个不存在的页面.但是,我希望它保持在同一页面上,只需使用ajax提交表单,并在 *** 作完成后向用户返回一些友好消息. 这是我的Ajax.BeginForm页面: @using (Ajax.BeginForm("Action", 我目前正在开发.net mvc 3应用程序.这是问题所在.出于某种原因,虽然我正在使用AJAX.BeginForm并且正在调用正确的 *** 作,但在 *** 作完成后,它正在尝试重定向到另一个不存在的页面.但是,我希望它保持在同一页面上,只需使用AJAX提交表单,并在 *** 作完成后向用户返回一些友好消息.

这是我的AJAX.BeginForm页面:

@using (AJAX.BeginForm("Action","Controller",new AJAXOptions { httpMethod = "Post" })){    <div ID="lnkContainer"><a href="#" onclick="JavaScript:document.forms[0].submit(); return false;">Update</a>&nbsp;</div>    @HTML.TextAreaFor(m => m.Message,new { style = "wIDth:575px" })}

这是我的行动:

[Authorize][AcceptVerbs(httpVerbs.Post)]public PartialVIEwResult Action(ActionModel actionModel){database-related code.....database-related codereturn PartialVIEw(); }
解决方法 我很确定你的问题在于onclick =“JavaScript:document.forms [0] .submit();”.这将提交表单作为普通的POST请求.如果要使用@ AJAX.BeginForm帮助程序,请使用常规< input type =“submit”>触发提交.如果你真的需要使用链接,那么使用@ AJAX.BeginForm实际上并不重要,因为你必须使用jquery等提交AJAX请求的代码.

就AJAX.BeginForm和重定向而言,如果用户在浏览器中禁用了JavaScript,或者您缺少相应的脚本等,表单将恢复为普通的HTML表单.

总结

以上是内存溢出为你收集整理的c# – Ajax.BeginForm似乎重定向动作完成全部内容,希望文章能够帮你解决c# – Ajax.BeginForm似乎重定向动作完成所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存