C# 如何将EventHandler转发到父控件?
我有一个包含文本框的用户控件。用户控件本身包含在另一个用户控件(父控件)中 当文本被更改(OnTextChanged事件)时,我需要一种方法来告诉父用户控件 因此,我会有一些关于:C# 如何将EventHandler转发到父控件?,c#,asp.net,event-handling,C#,Asp.net,Event Handling,我有一个包含文本框的用户控件。用户控件本身包含在另一个用户控件(父控件)中 当文本被更改(OnTextChanged事件)时,我需要一种方法来告诉父用户控件 因此,我会有一些关于: <uc1:MyUserControl OnChanged="DoSomething" runat="server" ID="MyUserControl1"> 当textbox的OnTextBoxChanged事件激发时,OnChanged eventhandler将激发 有什么想法或线索吗 谢谢 假
<uc1:MyUserControl OnChanged="DoSomething" runat="server" ID="MyUserControl1">
当textbox的OnTextBoxChanged事件激发时,OnChanged eventhandler将激发
有什么想法或线索吗
谢谢 假设有一个名为ControlTextBox的文本框,我的web用户控件后面有以下代码:
public partial class MyUserControl : System.Web.UI.UserControl
{
public event EventHandler Changed;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ControlTextBox_Changed(object sender, EventArgs e)
{
OnChanged();
}
protected virtual void OnChanged()
{
if (Changed != null)
Changed(this, EventArgs.Empty);
}
}
以及ascx文件中的以下内容:
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="MyUserControl.ascx.cs" Inherits="MyUserControl" %>
<asp:TextBox runat="server" ID="ControlTextBox"
OnTextChanged="ControlTextBox_Changed" AutoPostBack="true"/>
然后您上面给出的代码被正确触发。假设有一个名为ControlTextBox的文本框,我的web用户控件后面有以下代码:
public partial class MyUserControl : System.Web.UI.UserControl
{
public event EventHandler Changed;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ControlTextBox_Changed(object sender, EventArgs e)
{
OnChanged();
}
protected virtual void OnChanged()
{
if (Changed != null)
Changed(this, EventArgs.Empty);
}
}
以及ascx文件中的以下内容:
<%@ Control Language="C#" AutoEventWireup="true"
CodeFile="MyUserControl.ascx.cs" Inherits="MyUserControl" %>
<asp:TextBox runat="server" ID="ControlTextBox"
OnTextChanged="ControlTextBox_Changed" AutoPostBack="true"/>
然后正确地触发上面给出的代码