我正在使用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上传控件来进行ajax POST?
答案 0 :(得分:0)
我相信它默认使用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")))