我制作了一个带有文件类型输入的动态多上传表单。选择文件时,将出现新文件输入。提交表单时,“Request.Files”在代码后面捕获的所有输入。
当我在.aspx文件中生成这些文件时没有问题,但是当我使用Web用户控件(.ascx)页面“Request.Files”时,再添加1个请求(对于空白文件输入)。
为什么ascx计算balnk输入?
我分享以下代码:
MultiImage.ascx
<ul id="imagesToUpload">
<li><input type="file" class="imageToUpload" runat="server" /></li>
</ul>
<script type="text/javascript">
$('.imageToUpload').live('change', function () {
$(this).parent().append('<div class="imageInfoContainer"><span>Yüklenen görsel: ' + $(this).val() + ' </span><div class="deleteImage">Sil<div><div>');
if ($('input:file').length < <%= MaxImageNumber %>) {
$(this).parent().parent().append('<li><input type="file" class="imageToUpload" runat="server" /></li>');
}
});
$('.deleteImage').live('click', function () {
$(this).parent().parent().remove();
if ($('input:file').length < 1) {
$('#imagesToUpload').html('<li><input type="file" class="imageToUpload" runat="server" /></li>');
}
});
</script>
MultiImage.ascx.cs
var imageCollection = Request.Files; //Counts all file inputs included the blank one
答案 0 :(得分:0)
为什么ascx计算balnk输入?
你的意思是为什么HttpRequest
对象计数输入?因为它存在于请求中。但是,您可以通过查看Files集合中每个元素的HttpPostedFile.ContentLength
属性来轻松检查它是否为空。