Asp.net 从不同页面调用过程

Asp.net 从不同页面调用过程,asp.net,vb.net,Asp.net,Vb.net,我有一个Custom.ascx文件,用于许多页面。Custom.ascx包含两个控件和一个名为cmdCustomPageButton的按钮 当用户单击cmdCustomPageButton时,cmdCustomPageButton执行一个受保护的子项,该子项从数据库获取一些数据 使用Custom.ascx的Page1.aspx有自己的一组控件和执行的过程。它包含一个名为cmdPage1Button的按钮和一个名为RetriveData的过程,其他过程也在Page1.aspx中调用该过程 单击Cm

我有一个Custom.ascx文件,用于许多页面。Custom.ascx包含两个控件和一个名为cmdCustomPageButton的按钮

当用户单击cmdCustomPageButton时,cmdCustomPageButton执行一个受保护的子项,该子项从数据库获取一些数据

使用Custom.ascx的Page1.aspx有自己的一组控件和执行的过程。它包含一个名为cmdPage1Button的按钮和一个名为RetriveData的过程,其他过程也在Page1.aspx中调用该过程

单击CmdPage1按钮时,它将调用RetrieveData。RetriveData仅适用于Page1.aspx。Page2.aspx和Page3.aspx都有一个类似于RetriveData的过程,但只与自己的页面相关

尝试使用代码解释
Custom.ascx

第1.aspx页

问题。

单击cmdCustomPageButton时,如何从相关页面(即第1页、第2页或第3页)调用不同的RetrieveData过程???

请参考下面的链接,该链接对类似于您的查询有更好的了解


简而言之,在用户控件中创建一个事件委托,并在使用该用户控件的每个页面中处理该事件。如果单击了用户控件中的按钮,则会在相应的父页面中触发事件,您可以在该事件中调用RetriveData方法。抱歉,如果您的查询被误解。

MyUserControl.ascx页面代码

Public Class MyUserControl
Inherits System.Web.UI.UserControl

Public Event UserControlButtonClicked As EventHandler

Private Sub OnUserControlButtonClick()        
      RaiseEvent UserControlButtonClicked(Me, EventArgs.Empty)
End Sub

Protected Sub TheButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    ' .... do stuff then fire off the event
    OnUserControlButtonClick
End Sub
End Class
默认的.aspx页面代码

Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    ' hook up event handler for exposed user control event
    AddHandler MyUserControl.UserControlButtonClicked, AddressOf Me.MyUserControl_UserControlButtonClicked
End Sub

Private Sub MyUserControl_UserControlButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
    ' ... do something when event is fired
End Sub
End Class
所有这一切都要归功于克拉丘为我指明了正确的方向

转换由以下网站完成


谢谢

谢谢!!我将尝试转换此代码,多亏了此站点。好的,我已经尝试了上面的链接代码,但现在我在代码行MyUserControl.UserControlButtonClicked+=New EventHandler(MyUserControl的地址\u UserControlButtonClicked)上得到了一个“使用“RaiseEvent”语句引发事件”
Public Class MyUserControl
Inherits System.Web.UI.UserControl

Public Event UserControlButtonClicked As EventHandler

Private Sub OnUserControlButtonClick()        
      RaiseEvent UserControlButtonClicked(Me, EventArgs.Empty)
End Sub

Protected Sub TheButton_Click(ByVal sender As Object, ByVal e As EventArgs)
    ' .... do stuff then fire off the event
    OnUserControlButtonClick
End Sub
End Class
Public Class _Default
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    ' hook up event handler for exposed user control event
    AddHandler MyUserControl.UserControlButtonClicked, AddressOf Me.MyUserControl_UserControlButtonClicked
End Sub

Private Sub MyUserControl_UserControlButtonClicked(ByVal sender As Object, ByVal e As EventArgs)
    ' ... do something when event is fired
End Sub
End Class