.NET“Request.Files”捕获额外的输入

时间:2011-12-06 20:28:44

标签: c# asp.net

我制作了一个带有文件类型输入的动态多上传表单。选择文件时,将出现新文件输入。提交表单时,“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

1 个答案:

答案 0 :(得分:0)

  
    

为什么ascx计算balnk输入?

  

你的意思是为什么HttpRequest对象计数输入?因为它存在于请求中。但是,您可以通过查看Files集合中每个元素的HttpPostedFile.ContentLength属性来轻松检查它是否为空。