更新面板和异步后台触发器

3

我希望能够动态地向UpdatePanel控件中的ImageButtons添加AsyncPostback Triggers。

<asp:Content ID="Content1" ContentPlaceHolderID="Content" runat="server">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
 <Triggers></Triggers>
    <ContentTemplate>
            <asp:ListView ID="ListView2" runat="server">
                <ItemTemplate>
                    <asp:ImageButton ID="btnRemove" runat="server" ImageUrl="~/Images/Delete.png" CommandName='<%# DataBinder.Eval(Container.DataItem, "QuestionsID") %>'/>
                </ItemTemplate>
           </asp:ListView>
 </ContentTemplate>
 </asp:UpdatePanel>
</asp:Content>

问题在于我无法弄清楚如何做到这一点!

我已经尝试了不同的方法,但是没有一个方法似乎起作用。

我的最后一次尝试是在ListView ItemDataBound事件中添加触发器。

Private Sub ListView2_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs) Handles ListView2.ItemDataBound         
        For Each btnError As ImageButton In e.Item.Controls.OfType(Of ImageButton)()
            Select Case btnError.ID
                Case "btnRemove"
                    Dim trigger As New AsyncPostBackTrigger()
                    trigger.ControlID = UpdatePanel1.FindControl(btnError.ID).UniqueID
                    UpdatePanel1.Triggers.Add(trigger)
            End Select
        Next
    End Sub

当然,这显然是不正确的。所以请告诉我如何动态地向UpdatePanel控件添加触发器?

你的代码似乎没问题 - 至少我在C#中使用它是可行的。你有收到任何错误吗?顺便说一下 - 由于你的按钮已经在更新面板内,因此没有必要动态添加它们,因为它们会生成异步回发。 - Denis Ivin
@Denis Ivin 天啊!我觉得我需要一个全职假期!你介意把这个作为答案发布吗? - OrElse
1个回答

1

由于您的按钮已经在更新面板中,因此没有必要动态添加它们,因为它们会生成异步回发。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接