Mat*_*D73 10 javascript c# asp.net-mvc kendo-ui kendo-asp.net-mvc
我目前正在使用Kendo UI将文件上传到使用MVC3和Razor和Entity Framework的数据库.我在我的网站的几个区域工作得很好,除非我需要限制它只允许单一上传.我有多个设置为false,我需要禁止多个选择,但仍允许用户多次单击选择按钮添加文件,违反了DB中此字段的要求.
我尝试了一些我认为在他们的网站上找到的建议,但他们指的是当前请求中发送的当前所选项目,而不是整个上传列表(见下图).
<script type="text/javascript">
function singleFile(e) {
var files = e.files;
if (e.files.length > 1) {
alert('Only one file may be uploaded, cancelling operation...');
e.preventDefault();
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
@(Html.Kendo().Upload()
.Name("resumeAttachments")
.Multiple(false)
.Async(async => async
.Save("ResumeSave", "File")
)
.Events(c => c
.Upload("resumeOnUpload")
)
.Events(c => c
.Success("resumeOnSuccess")
)
.Events(c => c
.Complete("singleFile")
)
)
Run Code Online (Sandbox Code Playgroud)

在我被要求阻止多次上传后,我偶然发现了这个页面.
设置为FALSE的"multiple"如果正确完成就可以正常工作.
(虽然您可以使用Kendo Razor语法,但请注意当您查看.Kendo()实际转换为.kendoUpload的页面源时
因此我更喜欢javascript中的这种语法(在@using之后):
@using Kendo.Mvc.UI;
<script type="text/javascript">
$(document).ready(function() {
$("#files").kendoUpload({"multiple":false,
async: {
saveUrl: '@Url.Action("Save", "Upload", new { typeOfUploadedFile= @Model.DocName.ToString(), @proposalNo = @Model.ProposalNo.ToString(), area = ""})',
removeUrl: '@Url.Action("Remove", "Upload")',
autoUpload: true
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
经过周末的一点思考(和一个长周末放松的假期),它击中了我......将singleFile函数更改为以下将在文件上传后禁用控制。
function singleFile(e) {
var upload = $("#resumeAttachments").data("kendoUpload");
// disables the upload after upload
upload.disable();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14533 次 |
| 最近记录: |