Jquery 如何在MVC Telerik上传控制中一次异步发送所有上传的文件?

Jquery 如何在MVC Telerik上传控制中一次异步发送所有上传的文件?,jquery,asp.net-mvc,asp.net-mvc-3,telerik,telerik-mvc,Jquery,Asp.net Mvc,Asp.net Mvc 3,Telerik,Telerik Mvc,我正在为我的MVC3应用程序使用telerik文件上传控制。我正在使用它的异步功能上传文件。 下面是我正在使用的代码 @(Html.Telerik().Upload() .Name("files") .ShowFileList(true) .Multiple(true) .Async( async => async

我正在为我的MVC3应用程序使用telerik文件上传控制。我正在使用它的异步功能上传文件。 下面是我正在使用的代码

@(Html.Telerik().Upload()
        .Name("files")
        .ShowFileList(true)    
        .Multiple(true)                                    
        .Async(
                async => async
                .Save("Save", "MyController")
                .AutoUpload(false)
                .Remove("Remove", "MyController")                            
            )
    )

[HttpPost]
        public ActionResult Save(IEnumerable<HttpPostedFileBase> files)
        {            
            foreach (var file in files)
            {
                // Some browsers send file names with full path. We only care about the file name.
                var fileName = Path.GetFileName(file.FileName);
                var destinationPath = Path.Combine(Server.MapPath("~/App_Data"), fileName);

                file.SaveAs(destinationPath);
            }
            return Content("");
        }
@(Html.Telerik().Upload())
.Name(“文件”)
.ShowFileList(true)
.多重(真)
.Async(
异步=>async
.Save(“Save”、“MyController”)
.自动上载(错误)
.Remove(“Remove”、“MyController”)
)
)
[HttpPost]
公共操作结果保存(IEnumerable文件)
{            
foreach(文件中的var文件)
{
//有些浏览器发送带有完整路径的文件名。我们只关心文件名。
var fileName=Path.GetFileName(file.fileName);
var destinationPath=Path.Combine(Server.MapPath(“~/App\u Data”),文件名);
file.SaveAs(destinationPath);
}
返回内容(“”);
}
上面的代码将生成两个按钮,即。“选择”和“上载文件”。在选择4个文件并按下“上传文件”按钮后,telerik异步调用动作方法4次(这很糟糕)。我想要的是这个方法应该只调用一次,并且所有的4个文件应该一次发送到这个方法(因为我正在接受文件列表)

那么,如何在Html.Telerik().Upload()控件中实现这一点呢

此外,我将在Html.Telerik().Window()中显示此控件,因此我需要将上载的数据发送到父页面。有什么帮助吗?怎么做呢


谢谢。

< P>作为一个建议,你可以考虑让文件异步上传,如果你要把它们作为表单的一部分,用其他值来处理。为此,我使用了一个隐藏的表单字段将ID与上传的文件关联起来,并将该值包含在onUpload(e)client事件的e.data参数中。通过这种方式,您可以在文件保存在临时位置时验证表单,并处理表单post以及与您的ID关联的文件

否则,如果您绝对希望同步,那么根据Telerik的文档,您在执行多个同步上传时应该没有问题