我以前见过这个问题,但似乎没有一个答案对我有用。这是我的 updatePanel 部分(在 hi.ascx 中):
<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
最后,这是我在 hi.ascx.vb 页面上的代码:
Public Sub Pager_PageSelected(sender As Object, ByVal e As Paging.PageClickedEventArgs)
BindData(False, e.PageNumber)
End Sub
正如我在标题中所说。当我从 pager.ascx 引发一个事件时,它会导致一个完整的回发(并且效果很好,但我希望它在 Ajax 中)。
此更新面板中的其他控件(链接按钮),如 lbBlock 和 lbUnblock ,运行良好,不会导致完全回发!
请帮帮我。我花了太多时间在上面,似乎没有任何效果!
谢谢,
冉