【发布时间】:2013-04-05 11:41:16
【问题描述】:
我目前正在使用 Kendo UI 将文件上传到使用 MVC3 和 Razor 和实体框架的数据库。我在我网站的几个区域都运行良好,除非我需要将其限制为仅允许单个上传。我将多个设置为false,我需要禁止多选,但仍然允许用户多次单击选择按钮来添加文件,这违反了数据库中该字段的要求。
我尝试了一些我认为在他们的网站上找到的建议,但它们指的是当前请求中发送的当前选定项目,而不是整个上传列表(见下图)。
<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>
@(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")
)
)
【问题讨论】:
-
也许这在当时有所不同,但现在 (v2016.3.1028) 当使用
multiple: false时,除了添加操作之外还会调用删除操作 - 控件会清理以前选择的文件。但是,如果您的要求是他们不能更改他们最初上传的文件,那么您接受的解决方案或非异步 + 非多重配置都可以。
标签: javascript c# asp.net-mvc kendo-ui kendo-asp.net-mvc