У меня есть несколько панелей обновлений на моей странице, которые выполняют некоторые асинхронные обратные вызовы для правильного заполнения некоторых выпадающих списков. Моя проблема в том, что на моей странице есть ввод HTML, который обрабатывает некоторые загрузки файлов. С AJAX на странице с asyncpostbacks, и пока я перебираю свой код, файлы не загружаются. Использование postbacktrigger (не асинхронного) невозможно из-за моего макета.
Вот мой код:
<div id="divFileInputs" runat="server">
<input id="file1" name="fileInput" type="file" runat="server" size="50" style="width: 50em"
onfocus="AddFileInput()" class="textbox" /></div>
<select id="selectFileList" name="ListBox1" size="5" style="width: 50em; text-align: left;"
class="textbox" />
<input id="RemoveAttachmentButton" type="button" value="Remove" onclick="RemoveFileInput()"
class="removebutton " />
</div>
Вот мой код:
Protected Sub CopyAttachments(ByVal issueId As String)
Dim files As HttpFileCollection = Request.Files
Dim myStream As System.IO.Stream
Dim service As New SubmitService.Service
For i As Integer = 0 To files.Count - 1
Dim postedFile As HttpPostedFile = files(i)
Dim fileNameWithoutPath As String = System.IO.Path.GetFileName(postedFile.FileName)
If fileNameWithoutPath.Length > 0 And issueId.Length > 0 Then
Dim fileLength As Integer = postedFile.ContentLength
Dim fileContents(fileLength) As Byte
' Read the file into the byte array. Send it to the web service.
myStream = postedFile.InputStream
myStream.Read(fileContents, 0, fileLength)
service.ClearQuestAttachToIssue(issueId, fileNameWithoutPath, fileContents)
End If
Next
service = Nothing
End Sub
Когда я ставлю точку останова в объявлении службы и затем проверяю значение «files», счетчик равен 0. Я ожидаю, что он будет равен 2, когда у меня будет загружен один файл.
Кто-нибудь знает, как это исправить?