gpt4 book ai didi

c# - Ajax.BeginForm 似乎重定向 Action 完成

转载 作者:行者123 更新时间:2023-11-30 12:48:44 25 4
gpt4 key购买 nike

我目前正在开发 .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 code

return PartialView();
}

最佳答案

我相当确定您的问题在于 onclick="javascript:document.forms[0].submit();" .这会将表单作为正常的 POST 请求提交。如果你想使用 @Ajax.BeginForm helper ,使用常规 <input type="submit">触发提交。如果您确实需要使用链接,则使用 @Ajax.BeginForm真的没关系,因为您将不得不使用 jQuery 等编写提交 Ajax 请求的代码。

至于Ajax.BeginForm和重定向有关,如果用户在浏览器中禁用了 javascript,或者如果您缺少适当的脚本等,表单将恢复为普通的 HTML 表单。

关于c# - Ajax.BeginForm 似乎重定向 Action 完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13447792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com