加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 21:43:03 所属栏目:百科 来源:网络整理
导读:我目前正在开发.net mvc 3应用程序.这是问题所在.出于某种原因,虽然我正在使用Ajax.BeginForm并且正在调用正确的操作,但在操作完成后,它正在尝试重定向到另一个不存在的页面.但是,我希望它保持在同一页面上,只需使用ajax提交表单,并在操作完成后向用户返回一
我目前正在开发.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帮助程序,请使用常规< input type =“submit”>触发提交.如果你真的需要使用链接,那么使用@ Ajax.BeginForm实际上并不重要,因为你必须使用jQuery等提交Ajax请求的代码.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读