我以前見過這個問題,但沒有一個答案似乎適用於我。 這是我的UpdatePanel部分(內側hi.ascx):更新面板導致與usercontrol自定義事件全回發
<asp:UpdatePanel runat="server" ID="upUL" UpdateMode="Conditional" >
<ContentTemplate>
...
<Angel:Pager id="pager" runat="server" OnPageClicked="Pager_PageSelected" />
<!--End of control div-->
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="lbBlock" />
<asp:AsyncPostBackTrigger ControlID="lbUnblock" />
<asp:AsyncPostBackTrigger ControlID="pager" EventName="PageClicked" />
</Triggers>
</asp:UpdatePanel>
現在,這是Pager.ascx.vb中的代碼:
Public Delegate Sub ClickPage(sender As Object, e As PageClickedEventArgs)
Public Event PageClicked As ClickPage
Public Class PageClickedEventArgs
Inherits EventArgs
Public Property PageNumber() As Integer
End Class
...
Protected Sub rpPaging_Click(ByVal sender As Object, ByVal e As CommandEventArgs)
Dim pageNum As Integer
Integer.TryParse(e.CommandArgument.ToString(), pageNum)
If (pageNum <> 0) Then
Dim args As New PageClickedEventArgs
args.PageNumber = pageNum
RaiseEvent PageClicked(sender, args)
End If
'SelectNewPage(pageNum)
End Sub
And f最後,這是我在hi.ascx.vb頁上的代碼:
Public Sub Pager_PageSelected(sender As Object, ByVal e As Paging.PageClickedEventArgs)
BindData(False, e.PageNumber)
End Sub
正如我在標題中所述。當我從pager.ascx中引發一個事件時,它會導致完整的回發(並且效果很好,但我希望它在Ajax中)。
此更新面板中的其他控件(LinkButtons),如lbBlock和lbUnblock,運行良好,不會導致完全回發!
請幫助我。我花了太多時間在這件事上,似乎沒有任何工作!
感謝,
冉
感謝,首先,如果是有條件的或不是不是問題。該事件總是導致全面回發。秒,我該如何「揭露那個事件」?我如何讓updatepanel跟蹤我的PageCliked事件? – Ran 2012-07-26 06:53:55
即使沒有條件,也會導致完整的回發,這很奇怪。不應該發生。無法確定必須造成什麼。不太習慣vb,會發布c#的例子。 – nunespascal 2012-07-26 07:07:58
C#很好。什麼是grd?它是gridview嗎?即時通訊使用中繼器,我沒有pageChange事件。並在哪裏把你的代碼?應該不是我的:「Public Sub Pager_PageSelected」函數? – Ran 2012-07-26 07:14:00