AJAX.BEGINFORM 如果使用 enctype = "multipart/form-data",则不会触发 OnSuccess

AJAX.BEGINFORM OnSuccess not firing if using enctype = "multipart/form-data"

我相信你很好,目前我在尝试完成 OnSuccess(或任何其他 post 操作)时遇到问题,如果我使用以下代码:

(查看)

using(Ajax.BeginForm("ManualEntryCreate", null, new AjaxOptions
{
  HttpMethod = "Post",
  OnSuccess = "alert('test');"}, new { enctype = "multipart/form-data"}))
{
  etc

一切正常,选择的文件被传递到控制器中的方法(我实际上并没有上传文件,只是将选择的文件名传递到数据库中)

但是,return OnSuccess(或任何东西,例如 OnComplete)没有触发。

如果我删除

new { enctype = "multipart/form-data"}

OnSuccess 有效,但我需要将包含所选文件的变量传递到方法中,因此我需要添加 enctype 组件。我已经检查了 Network/Console 日志,JSON 响应被发回没有问题。只是没有触发任何 On'X' post 完成事件。

这仅仅是 Ajax.BeginForm 的限制,还是我遗漏了一些基本的东西?任何建议表示赞赏!

我的错 - 我使用阻止默认行为发生的 Windows.EventListener 拦截了请求(遗留代码)。它仅在我尝试提交多部分表单时激活。