使用GridView asp:ButtonField为更新面板设置异步触发器

时间:2009-06-03 20:49:22

标签: asp.net gridview updatepanel

AsyncPostBackTrigger控件中为UpdatePanel asp:ButtonField设置GridView的正确sytnax是什么?

我需要为我的GridView

中的每个asp:ButtonField设置一个'AsyncPostBackTrigger'

这是我的源代码

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

3 个答案:

答案 0 :(得分:0)

将ChildrenAsTriggers属性设置为true将导致任何导致更新面板中的回发的控件导致其刷新。如果您希望使用更新面板之外的控件来触发刷新该更新面板,则只需要使用triggers元素。在这个实例中甚至不需要triggers元素。

答案 1 :(得分:0)

Lance Harper提到的所有内容都是正确的,但您还需要删除以下属性:

UpdateMode="Conditional"

具有该属性将阻止客户端事件的自动连接。基本上你是在告诉ASP.Net你自己会这样做。

答案 2 :(得分:0)

您是否可以使用模板字段而不是命令字段,并在单击命令按钮时强制更新(UpdatePanel.Update())面板?