2009-06-03 7 views
0

GridViewコントロールののAsyncPostBackTriggerasp:ButtonFieldに設定する正しいsytnaxは何ですか?私は、各ASPは 'AsyncPostBackTrigger' を設定する必要がGridView aspを持つ更新パネルの非同期トリガを設定する:ButtonField

:ここに私のGridView

にButtonFieldは私のソースコードが

<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> 

で更新

私はUpdateModeを維持する必要があり、 UpdatePanelの中に他のボタンが含まれているため、ChildrenAsTriggersの属性がtrueに設定されているため、が更新されませんcontrol

答えて

0

ChildrenAsTriggersプロパティをtrueに設定すると、更新パネル内のポストバックによって更新されるすべてのコントロールが発生します。その更新パネルのリフレッシュをトリガーするために使用したいコントロールパネルの外にコントロールがある場合は、トリガー要素を使用する必要があります。このインスタンスでは、トリガー要素は必要ありません。

+0

へのコメントを参照してください。 –

0

ランスハーパーが述べたすべては本当ですが、あなたはまた、次の属性を削除する必要があります。

UpdateMode="Conditional" 

場所にその属性を持つことは、あなたのクライアント側のイベントの自動ワイヤアップを防止します。本質的に、あなたはこれをあなた自身で行うつもりであることをASP.Netに伝えています。

+0

条件付き属性をtrueに設定したいのは、Panel内にUpdatePanelをリフレッシュさせないボタンがあるためです。 –

0

コマンドフィールドの代わりにテンプレートフィールドを使用して、コマンドボタンをクリックしたときにパネルを強制的に更新(UpdatePanel.Update())できますか?

+0

私は間違ったコードサンプルを持っていました。 asp:CommandField列の代わりにasp:ButtonField列でなければなりません。私のコードサンプルを更新しました –

+0

私の提案はまだ動作すると思います。 Templateフィールドを使用し、ボタンが押されたときにコマンドを実行し、パネルを更新します。 –

関連する問題