2014-02-27 2 views
4
 <asp:UpdatePanel ID="Upnl1" runat="server" UpdateMode="Conditional"> 
<ContentTemplate> 
     <table width="100%"><tr> 
          <td align="center" colspan="3"> 
           <asp:Button ID="btnShowReport" runat="server" CssClass="ButtonClassLong" SkinID="LargeButton" 
            Text="Show Report" OnClick="btnShowReport_Click" TabIndex="15" /> 
           <asp:Button ID="btnClear" runat="server" CssClass="ButtonClass" Text="Clear" OnClick="btn_Click" 
            TabIndex="16" /> 
           <asp:Button ID="btnClose" runat="server" CssClass="ButtonClass" OnClick="btnClose_Click" 
            Text="Close" CausesValidation="False" TabIndex="17" /> 
           <asp:CheckBox ID="ChkPrint" Text="Print View" runat="server" TabIndex="14" /> 
          </td> 
         </tr> 
        </table></ContentTemplate> 
<Triggers> 
    <asp:PostBackTrigger ControlID="btnShowReport" /> 
</Triggers></asp:UpdatePanel><asp:UpdateProgress ID="UpdateProgress" runat="server"> 
      <ProgressTemplate> 
       <asp:Image ID="Image1" ImageUrl="~/App_Themes/RIBO/Images/Progress.gif" AlternateText="Processing" 
        runat="server" /> 
      </ProgressTemplate> 
     </asp:UpdateProgress> 

Это мое кодирование, Мой вопрос, когда я нажмите кнопку Очистить ход процесса обновления работает хорошо, когда я нажимаю btnShowReport это не будет работать.UpdateProgress не работает кнопка, которая находится в внутри спускового собственности

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

+0

Для чего вам нужна синхронная обратная передача на 'btnShowReport'? –

+0

Я хочу, если я нажму btnShowReport UpdateProgress покажет ... – Singaravelan

+0

http://stackoverflow.com/a/6451745/360171 –

ответ

5

Проблема AssociatedUpdatePanelID. Вы havn't установить Associateid вашего «UpdateProgress`

установить его на UpdateProgress

<asp:UpdateProgress ID="UpdateProgress" runat="server" AssociatedUpdatePanelID="Upnl1"> 

По MSDN

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

EDIT:

Причина <asp:PostBackTrigger ControlID="btnShowReport" />

Что приведет к полному постбэку. Вы должны изменить ваш Trigger к

<asp:AsyncPostBackTrigger ControlID="btnShowReport" /> 

и он будет делать всю работу за вас ... Если бы вы могли прочитать цитируемое заявление, вы бы иметь возможность решить его самостоятельно тоже ...

+0

Я установил свойство AssociatedUpdatePanelID = "Upnl1", но он не будет работать (прогресс обновления не показывается). ... – Singaravelan

+0

Ну, вы также используете 'PostBackTrigger'..Удали мою проверку ответа сейчас. –

+0

Если я использую' async', все, что выбрано в интерфейсе (имя файла управления файловой загрузкой), не отправляется на код ... – Si8

1

This is working for me, I hope this will helpful for some

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title>Show Loading Image while uploading images using updatepanel</title> 
<style type="text/css"> 
.overlay 
{ 
position: fixed; 
z-index: 999; 
height: 100%; 
width: 100%; 
top: 0; 
background-color: Black; 
filter: alpha(opacity=60); 
opacity: 0.6; 
-moz-opacity: 0.8; 
} 
</style> 
<script type="text/javascript"> 
function showProgress() { 
var updateProgress = $get("<%= UpdateProgress.ClientID %>"); 
updateProgress.style.display = "block"; 
} 
</script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<asp:ScriptManager ID="scriptmanager1" runat="server"></asp:ScriptManager> 
<asp:UpdatePanel runat="server" ID="updatepanel1" UpdateMode="Conditional"> 
<ContentTemplate> 
<div style="align:center; margin-left:350px; margin-top:200px"> 
<asp:FileUpload ID="uploadfiles1" runat="server" /> 
<asp:Button ID="btnUpload" Text="Upload" runat="server" onclick="btnUpload_Click" OnClientClick="showProgress()" /><br /> 
<asp:Label ID="lblMsg" runat="server"/> 
</div> 
</ContentTemplate> 
<Triggers> 
<asp:PostBackTrigger ControlID="btnUpload" /> 
</Triggers> 
</asp:UpdatePanel> 
<asp:UpdateProgress ID="UpdateProgress" runat="server" AssociatedUpdatePanelID="updatepanel1"> 
<ProgressTemplate> 
<div class="overlay"> 
<div style=" z-index: 1000; margin-left: 350px;margin-top:200px;opacity: 1;-moz-opacity: 1;"> 
<img alt="" src="loading.gif" /> 
</div> 
</div> 
</ProgressTemplate> 
</asp:UpdateProgress> 
</form> 
</body> 
</html> 
+0

Для потомков вы могли бы включить соответствующие части ссылки, которые были сочтены полезными в вашем ответе? Таким образом, если ссылка опустится, изменения и т. Д., Ваш ответ не будет бесполезен. Большое спасибо. –

+1

Да, вы правы – Singaravelan