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

gstyhher  于 2022-12-30  发布在  .NET
关注(0)|答案(3)|浏览(223)

使用GridView控件中的asp:ButtonFieldUpdatePanel设置AsyncPostBackTrigger的正确语法是什么?
我需要为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中包含的"I have other"按钮不会刷新UpdatePanel控件

c2e8gylq

c2e8gylq1#

ChildrenAsTriggers属性设置为true将导致在更新面板内引起回发的任何控件刷新更新面板。只有在更新面板外有一个控件要用来触发更新面板的刷新时,才需要使用triggers元素。在此示例中甚至不需要triggers元素。

vnzz0bqm

vnzz0bqm2#

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

UpdateMode="Conditional"

有了这个属性,就可以防止客户端事件的自动连接。实际上,你是在告诉ASP.NET你要自己完成这个任务。

62lalag4

62lalag43#

你可以使用一个模板字段代替命令字段,并且在命令按钮被点击时强制更新(UpdatePanel.Update())面板吗?

相关问题