Kendo.Ui.Core 在 MVC3 应用程序中总是异步上传 returns null

Kendo.Ui.Core Upload async always returns null in MVC3 application

我正在使用 Kendo UI 核心脚本,版本 2013.2.918 在 ASP.NET MVC3 应用程序中异步上传文件。或者,至少,我正在努力。

它正确调用了动作,但参数始终为空。这是代码。

<form method="post" action="submit">
    <input id="fiAwardUploader" type="file"/>
</form>

$(document.ready(fuction(){
    $('#fiAwardUploader').kendoUpload({
        async:{
            saveUrl: '@(Url.Action("UploadAwardDocument"))',
            autoUpload: false //this is done for testing purposes
        }
     });
 });

 [HttpPost]
 public ActionResult UploadAwardDocument(IEnumerable<HttpPostedFileBase> fiAwardUploader)
 {
     var test = files; //this is always null
     return null;
 }

我也试过将表单设置为动作,但它仍然做了同样的事情。我已尝试根据 KendoUI MVC3 约定将 UploadAwardDocument 的参数命名为 files,但仍然返回 null。

任何拼写错误都只是一个问题,因为我必须在联网的笔记本电脑上重新输入代码;除了 fiAwardUploader 参数为 null 之外的所有内容都可以正常工作。由于遗留编码问题,该应用无法 post 返回此处——上传必须是异步的。由于预算限制和我的个人喜好,我们不会迁移到 KendoUI MVC3 Professional Suite。

我被卡住了,从不得不放弃 KendoUI 解决方案并找到另一个异步上传工具到现在整整 16 小时。

想通了。 <input id="fiAwardUploader" type="file"/> 也需要设置名称。 <input id="fiAwardUploader" name='fiAwardUploader' type="file"/> 有效。

这在 KendoUI 文档中没有明确记录,虽然在 MVC3 文档中提到了它,但在面对这个特定问题时并没有明显的联系。

因此,我将把问题留在原地,希望它能帮助其他人。