Прогресс обновления не виден - PullRequest
0 голосов
/ 15 августа 2011

У меня есть утилита, которая загружает файл, а затем обрабатывает и сохраняет его.Итак, у меня есть элемент управления загрузкой файлов, btn для загрузки и btn для отмены с парой меток для отображения сообщений.

Проблема: я не вижу прогресса обновления, когда нажимаю btnupload или btncancel.Вот код:

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblerrormsg" runat="server" class="lblerrormsg"></asp:Label>
</ContentTemplate> 
</asp:UpdatePanel>

<asp:Label ID="lblsource" runat="server" class="lblleft" Text="Select file ">   
</asp:Label>
<asp:FileUpload ID="FileUploadSource" runat="server" class="BtnUpload" />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" class="btnRefresh"    
OnClientClick="ClearFileUpload()"                                                   
CssClass="btnRefresh" OnClick="btnCancel_Click" />
<asp:Button ID="btnUnlock" runat="server" Text="Process File"       
class="btnRefresh" OnClick="btnUnlock_Click"  CssClass="btnRefresh" /> 
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="100" 
AssociatedUpdatePanelID="UpdatePanel2" >
<ProgressTemplate>
<img alt="Loading" src="Images/updateprogress.gif"   />
</ProgressTemplate>
</asp:UpdateProgress>
<asp:Label ID="lblSaved" runat="server" class="lblleft"></asp:Label><br/>
<asp:Label ID="lblsourcePath" runat="server" class="lblleft"></asp:Label>
</ContentTemplate> 
</asp:UpdatePanel>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblerrormsg" runat="server" class="lblerrormsg"></asp:Label>
</ContentTemplate> 
</asp:UpdatePanel>`

Пожалуйста, помогите.Спасибо Чанд

Ответы [ 3 ]

0 голосов
/ 15 августа 2011

Я подозреваю, что загрузка файла asp.net не является асинхронным событием, и asp.net Ajax блокируется во время загрузки.

Единственный способ, которым я решил эту проблему в прошлом, этонаписать свой собственный загрузчик, который отправляет файл через iframe, и пользовательский обработчик на сервере, который отображает опубликованный файл из базового http-запроса, чтобы вы могли сохранить его в виде потока, одновременно предупреждая клиента о его ходе.

Причиной этого является любая попытка прочитать запрос, обычно приводящая к загрузке всего файла в память.

0 голосов
/ 15 августа 2011

Кнопки и элементы управления UpdateProgress должны находиться на панели обновлений, либо необходимо извлечь элемент управления UpdateProgress из панели обновления.

0 голосов
/ 15 августа 2011

Удалите AssociatedUpdatePanelID и попробуйте, поскольку он находится внутри UpdatePanel. Не думаю, что он вам нужен.

...