2015-08-14 71 views
0

我有一個GridView在UpdatePanel中有很多列,其中2個是用按鈕填充的列。 Gridview外部有一個「更新」按鈕。當用戶點擊「更新」時,會出現一個UpdateProgress div,這是預期的。但是,當點擊gridview中的按鈕時,它也顯示出來,這不是我想要的。如果GridView本身位於UpdatePanel中,如何從UpdateProgress中排除這些按鈕?我試過ChildrenAsTriggers = False和UpdateMode = Conditional,但沒有幫助。查看下面使用的代碼。什麼是在GridViewGridview中的按鈕顯示點擊UpdateProgress點擊

<asp:UpdateProgress id="UpdateProgress" runat="server"> 
<ProgressTemplate> 
    <div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;"> 
     <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/images/ajax-loader.gif" AlternateText="Updating PO, please wait ..." ToolTip="Updating PO, please wait ..." style="padding: 10px;position:fixed;top:45%;left:50%;" /> 
    </div> 
</ProgressTemplate> 
</asp:UpdateProgress> 


<asp:UpdatePanel ID="UpdatePanel2" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="UpdateButton" EventName="Click"/> 
</Triggers> 

<ContentTemplate> 
<!-- Gridview is here --> 

</ContentTemplate> 

</asp:UpdatePanel> 

例子:

 <asp:TemplateField HeaderText="Button Column One"> 
      <HeaderStyle Width="70px" /> 
      <ItemStyle Wrap="False" HorizontalAlign="Center" Width="70px" /> 
      <ItemTemplate> 
       <asp:Button ID="btnG" runat="server" OnCommand="btnG_Command" Text="View"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField ShowHeader="False" HeaderText="Drug Details"> 
      <ItemTemplate> 
       <asp:Button ID="btnA" runat="server" OnCommand="btnA_Command" Text="View" /> 
      </ItemTemplate> 
      <HeaderStyle Width="60px" HorizontalAlign="Center" /> 
      <ItemStyle Width="60px" HorizontalAlign="Center" /> 
     </asp:TemplateField> 
+0

刪除eventName的=「點擊」,並嘗試 –

+0

控件ID =「UpdateButton」只給按鈕的IDü要上 –

回答

1

把你的GridView在一個單獨的更新面板和UpdateProgress控件指定AssociatedUpdatePanelID領域。

<asp:UpdateProgress id="UpdateProgress" runat="server" AssociatedUpdatePanelID="UpdatePanelForButton"> 
<ProgressTemplate> 
    <div style="position: fixed; text-align: center; height: 100%; width: 100%; top: 0; right: 0; left: 0; z-index: 9999999; background-color: #000000; opacity: 0.7;"> 
     <asp:Image ID="imgUpdateProgress" runat="server" ImageUrl="~/images/ajax-loader.gif" AlternateText="Updating PO, please wait ..." ToolTip="Updating PO, please wait ..." style="padding: 10px;position:fixed;top:45%;left:50%;" /> 
    </div> 
</ProgressTemplate> 
</asp:UpdateProgress> 


<asp:UpdatePanel ID="UpdatePanelForButton" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> 
<Triggers> 
    <asp:AsyncPostBackTrigger ControlID="UpdateButton" EventName="Click"/> 
</Triggers> 

<ContentTemplate> 
<!--Button goes here--> 

</ContentTemplate> 

</asp:UpdatePanel> 
+0

謝謝你的答案的onclick進度但不幸的是,我不認爲這個工程。這些按鈕位於gridview內部,並且更新按鈕是完全獨立的。我希望在用戶單擊更新時顯示加載屏幕,這就是爲什麼GridView在UpdatePanel中。我的問題是點擊gridview中的按鈕時顯示加載屏幕,我不希望這樣。 – misosouper