[英]Kendo Upload Duplicating File After Initial File Selection
我們正在使用Telerik ASP.NET MVC VSExtensions 2019.1.116.1,並且具有使用Upload控件的MVC應用程序。 我們面臨的問題是我們第一次打開上傳控件並從文件資源管理器中選擇一個文件,它正在復制控件中的所選文件。
我們正在使用async選項,它將一次進入我們的控制器來處理文件,但是它兩次顯示相同的文件。 它在第一個文件上將狀態設置為成功,但是由於“ Uploading”圖標一直顯示,並且從未將其發送到控制器,因此它永遠不會關閉。
如果我們關閉此控件,然后重新單擊按鈕以打開控件並選擇一個文件,它將僅顯示一次文件,然后調用控制器來處理該文件並按預期工作。
同樣,如果我們重新加載頁面,然后使用拖放操作,它會按預期工作,因此這只是我們第一次加載頁面並單擊“選擇文件”按鈕,它會復制顯示的文件。
我們使用一個隱藏的“ div”作為上載控件和關聯的文本/按鈕,然后我們有一個顯示該div的按鈕。
<div id="cdpUploadScheduleEvents" style="display: none; border-style:solid">
<p class="panel panel-info">
Please select the file.
</p>
@(Html.Kendo().Upload().Name("files"))
<div style="width: 15%; margin: auto;">
<button id="closeUploadBtn"class="button btn4 center-block btn-block" onClick="CloseUploadPane()">Close</button>
</div>
</div>
我們在$(document).ready中初始化kendo控件:
$("#files").kendoUpload({
multiple: false,
async: {
saveUrl: '@Url.Action("UploadFile", "MyCtl", new {masterId = @Model.masterId})',
removeUrl: '',
autoUpload: true
},
error: onKendoError,
complete: onKendoComplete,
upload: onKendoUpload,
select : onKendoSelect,
validation: {
allowedExtensions: [".csv", ".xls", ".xlsx"]
}
});
這是我的OnSelect,並且我那里有一個警報,其中顯示文件數,並且始終顯示已選擇1個文件:
function onKendoSelect(e) {
var selectedFiles = e.files.length;
alert('Files selected ' + selectedFiles);
if (selectedFiles > 1) {
$(".k-upload-files > li:eq(1)").remove();
}
};
不知道為什么第一次使用該控件會重復,並且此后每次都不能正常運行,或者為什么每次拖放都正確。
您要初始化上傳小部件兩次。 我想這就是它表現得如此奇怪的原因。 只需將所有初始化放入Razor代碼中,然后從$(document).ready
刪除內容即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.