我正在使用Kendo UI Core脚本,版本2013.2.918在ASP.NET MVC3应用程序中异步上载文件。或者,至少,我正在尝试。
它正确调用了操作,但参数始终为null。这是代码。
<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之外的所有内容都可正常工作。由于遗留编码问题,应用无法在此处发布 - 上传必须是异步的。由于预算限制和我个人的偏好,我们不会转向KendoUI MVC3专业套件。
我被困住了,距离必须放弃KendoUI解决方案并找到另一个异步上传工具正好16个小时。
答案 0 :(得分:2)
想出来。 <input id="fiAwardUploader" type="file"/>
也需要设置名称。 <input id="fiAwardUploader" name='fiAwardUploader' type="file"/>
有效。
这在KendoUI文档中没有明确记录,虽然在MVC3文档中提到过,但在面对这个特定问题时,它并不是一个明显的关联。
正因为如此,我将把问题留在原处,希望能帮到别人。