我有一個奇怪的問題,想知道是否有人可以幫忙。按鈕點擊中繼器在updatepanel中沒有觸發,直到AsyncPostBackTrigger計時器打勾?
我有一個更新面板,其定時器設置爲AsyncPostBackTrigger。 在這個更新面板中,我有一箇中繼器,在中繼器中有幾個按鈕,它們具有點擊事件。
點擊這些按鈕不會出現直到定時器打勾。 我已經嘗試過調試,這是似乎正在發生的事情,無論哪種方式,它需要年齡爲按鈕點擊實際上觸發。
有沒有人知道爲什麼會這樣,我能做些什麼呢?
我的代碼如下:
更新面板
<asp:UpdatePanel ID="CheckListUpdatePanel" runat="server">
<ContentTemplate>
<div><asp:Label ID="CannotBeLoadedLabel" runat="server" Visible="false"></asp:Label></div>
<table>
<asp:Repeater ID="ChecklistRepeater" runat="server">
<ItemTemplate>
<tr>
<td>
<%# Eval("Description")%>
</td>
<td>
<%# Eval("Priority")%>
</td>
<td>
<td>
<asp:Button ID="SetAsCompleteButton" CommandArgument='<%# Eval("EventChecklistId")%>'
runat="server" OnClick="SetAsCompleteButton_Click" Text="Close" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
</Triggers>
</asp:UpdatePanel>
我的一些代碼背後:
Protected Sub SetAsCompleteButton_Click(ByVal sender As Object, ByVal e As EventArgs)
timer1.Enabled = False
~~do complete code
timer1.Enabled = True
End Sub
Protected Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs) Handles timer1.Tick
timer1.Enabled = False
LoadEventChecklist()
timer1.Enabled = True
End Sub
感謝
貝克斯
這是必然的ID值數據源給中繼器。該按鈕需要這個值,當它回來知道它設置完成的項目。有沒有辦法呢? – Bex 2010-12-16 16:51:41
你不能通過ClientID,它已經存在 <%= DataSourceControl.ClientID%> – 2010-12-16 16:54:33
你是什麼意思?將整個數據源傳遞給代碼?我從背後的代碼綁定了這個,如果這就是你的意思,我沒有使用數據源控件? – Bex 2010-12-16 16:56:24