我們實際上在工作中使用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和使用任何劍道行動暴露,開始文件流媒體服務器(我忘了他們的文件是可怕的)。