gpt4 book ai didi

javascript - Html.BeginForm 没有像 Ajax.BeginForm 这样的 onBegin、onComplete 方法

转载 作者:行者123 更新时间:2023-11-29 10:31:34 25 4
gpt4 key购买 nike

我在 ASP.NET MVC 5 中工作。我在使用 Ajax.BeginForm 提交表单期间显示加载程序:

@using (Ajax.BeginForm("Filter", "Log", new AjaxOptions() { OnSuccess = "reloadGrid", OnFailure = "notifyError", HttpMethod = "POST", LoadingElementId = "myModalLoader", OnBegin= "showLoader();", OnComplete = "hideLoader();" }, new { @id = "filter-form" }))

我正在尝试在另一个我有 Html.BeginForm 的网页中做同样的事情:

@using (Html.BeginForm( "Index", "GestioneImmagini", FormMethod.Get, new AjaxOptions() { HttpMethod = "GET",  LoadingElementId = "myModalLoader", OnBegin = "showLoader();", OnComplete = "hideLoader();" }))

但是 onBegin 和 OnComplete 不会触发。

你知道原因吗?我可以在 Html.BeginForm 中使用 AjaxOptions 吗?

谢谢

西蒙

最佳答案

不,你不能用 Html.BeginForm 来做.

你不能的原因是Html.BeginForm呈现为 <form>标签,当你按下 submit按钮,这会导致对服务器的同步请求。

如果你真的想根据请求完成某些事情,你可以在 Controller 内的服务器端完成。诸如重定向或仅替换页面 View 之类的东西。

无论如何,如果你想对页面的一部分做些什么,你应该使用 Ajax.BeginForm而不是 Html.BeginForm

关于javascript - Html.BeginForm 没有像 Ajax.BeginForm 这样的 onBegin、onComplete 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44803003/

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