我们实际上在工作中使用Kendo作为我们的用户界面。 Ajax上传按钮不算太坏。这里有一个例子VB动作和剃刀(我选择了VB,因为它是这个应用程序的语言,如果你需要C#它的EZ翻译。)
主要要注意的事情:在剃刀的SaveField字符串必须用于名称在控制器方法中IEnumerable HttpPostedFileBase arg,否则文件将不会传递给动作。这是一个剑道怪癖。
VB方法西格
Public Function UploadFile(files As IEnumerable(Of HttpPostedFileBase)) As ActionResult
//dostuff
刀片座
@(Html.Kendo().Upload()
.Name("previewFile")
.Multiple(false)
.Async(a => a
.Save("UploadFile", "PosterSignup")
.Remove("RemoveFile", "PosterSignup")
.SaveField("files")
.AutoUpload(true)
)
.Events(e => e
.Select("onPreviewSelect"))
)
在剃刀代码选择事件可以使用函数来执行检查或对话框的提示,你可以强制取消通过执行preventDefault()来自动上载。阿卡
订阅选择事件来控制上传
function onPreviewSelect(e) {
if(//someCheck){
e.preventDefault();
}
}
如果你不想autoUpload和的preventDefault还可以去除autoUpload和使用任何剑道行动暴露,开始文件流媒体服务器(我忘了他们的文件是可怕的)。