-1

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

(看法)

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

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

但是,在返回 OnSuccess(或任何如 OnComplete)时不会触发。

如果我删除

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

OnSuccess 有效,但我需要将包含所选文件的变量传递给方法,因此我需要添加 enctype 组件。我检查了网络/控制台日志,并且发送回 JSON 响应没有问题。只是任何 On'X' 后完成事件都不会触发。

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

4

1 回答 1

0

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

于 2018-05-31T10:33:27.440 回答