2009-06-03 38 views
0

什麼是正確的sytnax用於設置AsyncPostBackTriggerUpdatePanelasp:ButtonFieldGridView控件?使用GridView asp設置更新面板的異步觸發器:ButtonField

我需要爲每個ASP設置 'AsyncPostBackTrigger':在ButtonField字段我GridView

這裏是我的源代碼

<asp:UpdatePanel ID="MyUpdatePanel" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional"> 
    <Triggers> 
    </Triggers> 
    <ContentTemplate> 
     <asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false">  
      <Columns>   
       <asp:ButtonField ButtonType="Link" CommandName="Button1" SelectText="Click Me!" />   
       <asp:ButtonField ButtonType="Link" CommandName="Button2" SelectText="No Click Me!" />  
      </Columns> 
     </asp:GridView> 
    </ContentTemplate> 
</asp:UpdatePanel> 

更新

我需要保持UpdateModeChildrenAsTriggers屬性設置爲true,因爲我有UpdatePanel中包含的其他按鈕不會刷新UpdatePanel控制

回答

0

將ChildrenAsTriggers屬性設置爲true將導致任何控制,導致更新面板內的回發導致其刷新。如果您希望使用觸發刷新更新面板的更新面板之外的控件,則只需使用觸發器元素。在這個例子中你甚至不需要觸發器元素。蘭斯哈珀提到

+0

查看發送給Josh的註釋 – 2009-06-03 21:06:20

0

一切都是真實的,但你還需要刪除以下屬性:

UpdateMode="Conditional" 

具有地方會阻止客戶端事件的自動線了該屬性。基本上,你告訴ASP.Net你將自己做這件事。

+0

我想將條件屬性設置爲true,因爲面板中的按鈕不會導致UpdatePanel刷新。 – 2009-06-03 21:05:10

0

您可以使用模板字段而不是命令字段,並強制更新(UpdatePanel.Update())面板時單擊命令按鈕?

+0

我有錯誤的代碼示例。它應該是一個asp:ButtonField列而不是asp:CommandField列。我更新了我的代碼示例 – 2009-06-03 21:53:02