用户控件响应它添加到的页面上的事件

本文关键字:事件 控件 响应 添加 用户 | 更新日期: 2023-09-27 17:53:54

我有一个用户控制页面,上面有一个标签,标签的onLoad代码是用c#编写的。我添加用户控件的页面有一个按钮。我是否有任何方法来编码用户控件,使其在响应按钮按下改变标签?最好是在c#的用户控制页面中完成。我不确定它是否会影响到这一点,但非用户控制页面背后的代码在VB中完成。

用户控件响应它添加到的页面上的事件

在您的页面代码中。Aspx为按钮单击添加声明性事件处理程序,并在其中添加以下代码以及其他逻辑-

c#

Protected void Button_OnClick(object sender, eventargs e)
{
   //Other logic responding to the click event within the page
   LabelUserControl.PageButton_Click(sender, e); 
}

VB。净

Protected Sub PageButton_Click(sender As Object, e As System.EventArgs) Handles PageButton.Click 
   LabelUserControl.PageButton_Click(sender, e)
End Sub

或(如果用户控制标签更改是对单击的唯一响应)-

c#

Protected void Page_Load(object sender, eventargs e)
{
   PageButton.Click += LabelUserControl.PageButton_Click;
}

VB。净

Sub Page_Load(ByVal Sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    AddHandler PageButton.Click, AddressOf LabelUserControl.PageButton_Click
End Sub

在您的用户控件-

public void PageButton_Click(object sender, eventargs e)
{
  // change label text
}

方法应该是公共的,这样就可以从页面中访问。