0
我做了一個動態的多文件類型輸入上傳表單。當你選擇一個文件時,將會出現新的文件輸入。將代碼後面的「Request.Files」捕獲的所有輸入提交給表單時。.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
正是!我做了同樣的事情來防止。但我很好奇爲什麼HttpRequest不會在Web表單頁面(.aspx)計算該輸入。有什麼不同? – pilavust
@pilavust我無法想象在aspx或ascx代碼中調用'Files'集合的內容時會有什麼區別。請求對象實例在頁面和控件內部是相同的,因爲它只是'HttpContext.Current.Request'。你有一些代碼只說明只包含非空輸入的'Files'集合嗎? –
你是對的。我錯過了一點。我在頁面控制的aspx中使用了'HttpRequest'。很抱歉打擾。 – pilavust