2011-03-12 61 views
3

我很想動態地添加AsyncPostback觸發對UpdatePanel控件更新面板和AsyncPostbackTriggers

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

的問題是,我無法弄清楚如何做到這一點中發現的ImageButtons!

我已經嘗試過不同的方式,但沒有似乎工作。

我最後一次嘗試,試圖增加觸發器在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控件?

+0

您的代碼似乎沒問題 - 至少,它在C#中對我有用......您是否收到任何錯誤?順便說一句 - 因爲你的按鈕已經在更新面板中了,所以沒有理由動態添加它們,因爲它們會生成異步回發。 – 2011-03-12 21:01:06

+0

@Denis Ivin哦,我的上帝!我想我需要全職休息!你介意發佈這個答案嗎? – OrElse 2011-03-12 21:14:52

+0

:)很高興幫助 – 2011-03-12 23:54:34

回答

1

由於您的按鈕已經在更新面板中,所以沒有理由動態添加它們,因爲它們會生成異步回發。