造成的UpdatePanel完全回发与用户控件自定义事件

编程入门 行业动态 更新时间:2024-10-26 16:23:46
本文介绍了造成的UpdatePanel完全回发与用户控件自定义事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我以前也看到了这个问题,但没有答案似乎为我工作。这是我的UpdatePanel的部分(内侧hi.ascx):

I have seen this question before, but none of the answers seems to work for me. This is my updatePanel section (inside 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内code:

Now this is the code within the 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页面上我的code:

And finally, this is my code on the hi.ascx.vb page:

Public Sub Pager_PageSelected(sender As Object, ByVal e As Paging.PageClickedEventArgs) BindData(False, e.PageNumber) End Sub

正如我在标题中说。当我从pager.ascx引发一个事件,它会导致一个完整的回发(伟大工程,但我希望它是在阿贾克斯)。 此像的UpdatePanel和lbBlock内lbUnblock其他控件(LinkBut​​tons),是伟大的工作,且不会导致完全回发! 请请帮助我。我花了太多的时间和似乎没有任何工作! 谢谢,然

As I stated in the title. When I raise an event from the pager.ascx, it causes a full post back(and works great but I wanted it to be in Ajax). The other controls(LinkButtons) within this updatepanel like lbBlock and lbUnblock , are working great and not causing full postback! Please please help me. I spent too much time on it and nothing seems to work! thanks, Ran

推荐答案

这解决了这个问题:

Protected Sub rpPaging_onItemCreated(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Dim lb = e.Item.FindControl("lbPage") If lb IsNot Nothing Then _ ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(lb) End Sub

显然,一个中继器内的控制不会自动注册自己...所以我需要他们每个人添加到的ScriptManager!

Apparently, Controls within a repeater would not register themselves automatically... So i needed to add each one of them to the scriptmanager!

希望这有助于有人在那里...

Hope it would help to someone out there...

更多推荐

造成的UpdatePanel完全回发与用户控件自定义事件

本文发布于:2023-10-12 21:36:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1485969.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   控件   事件   用户   UpdatePanel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!