0

我正在使用剑道上传控制将文件发布到服务器

@(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?
    }

我以为剑道会发出 ajax POST 请求。然而这不是真的,在 asp.net 中HttpContext.Request.IsAjaxRequest()返回false
当我检查请求标头时,我X-Requested-With:XMLHttpRequest也看不到标头。
这是剑道上传的错误吗?

无论如何配置剑道上传控制来制作ajax POST?

4

1 回答 1

0

我相信它POST默认使用 a 。

我认为您的问题是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")))
于 2017-05-31T03:00:47.110 回答