Kendo上传控件不使用ajax POST上传文件

时间:2017-05-30 22:08:30

标签: kendo-ui kendo-asp.net-mvc telerik-mvc kendo-upload

我正在使用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?

1 个答案:

答案 0 :(得分:0)

我相信它默认使用POST

我认为您的问题是,您的窗口小部件的namefile,您的参数为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")))