我正在使用Kendo上传控制将文件发布到服务器
@(Html.Kendo().Upload()
.Name("file")
.Async(a => a.Save("DocumentUpload", "Home")
.AutoUpload(true))
.Multiple(false))
[HttpPost]
public ActionResult DocumentUpload(IEnumerable<HttpPostedFileBase> files)
{
var isAjax = HttpContext.Request.IsAjaxRequest();
// Why isAjax is false here ?? Is it not Ajax POST?
}
我认为Kendo提出了Ajax Post请求。但是,这不是真的,在ASP.NET HttpContext.Request.IsAjaxRequest()
中返回false
。
当我检查请求标题时,我也看不到X-Requested-With:XMLHttpRequest
标头。
这是Kendo上传中的错误吗?
无论如何是否有配置kendo上传控制以制作ajax post?
我相信它确实使用POST
。
我认为您的问题是您的小部件的name
是file
,您的论点是files
(复数(。
另外,您可以这样设置.Files("files")
:
@(Html.Kendo().Upload()
.Deferred()
.Name("upload")
.Multiple(true)
.Async(async => async.AutoUpload(true)
.SaveUrl(Url.Action("SaveAttachment"))
.SaveField("files")))
.Events(evt => evt.Success("refreshAttachments")))