UserControl1.ascx
UserControl1.ascx.cs
открытый частичный класс UserControl1: System.Web.UI.UserControl
{
public event EventHandler UserControl1Click;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn1_Click(object sender, EventArgs e)
{
UserControl1Click(sender, e);
}
}
UserControl2.ascx
UserControl1.ascx.cs
открытый частичный класс UserControl2: System.Web.UI.UserControl
* * {Тысяча двадцать-один
public event EventHandler UserControl2Click;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btn2_Click(object sender, EventArgs e)
{
UserControl2Click(sender, e);
}
}
Затем добавьте одно текстовое поле Asp.Net (для отображения идентификатора пользовательского элемента управления) и выше двух пользовательских элементов управления на страницу Aspx, как показано ниже.
<title>Untitled Page</title>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txt1" runat="server"></asp:TextBox> <br />
<UC1:UC ID="uc1" runat="server" />
<UC1:UC ID="uc2" runat="server" />
</div>
</form>
Теперь добавьте обработчик событий для каждого пользовательского элемента управления для обработки события нажатия кнопки двух элементов управления, как показано ниже.
открытый частичный класс _Default: System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
uc1.UserControl1Click += new EventHandler(uc1_UserControl1Click);
uc2.UserControl2Click += new EventHandler(uc2_UserControl2Click);
}
protected void uc1_UserControl1Click(object sender, EventArgs e)
{
txt1.Text = "User Control 1 Clicked";
}
protected void uc2_UserControl2Click(object sender, EventArgs e)
{
txt1.Text = "User Control 2 Clicked";
}
}
Если щелкнуть «Пользовательский элемент управления 1», в текстовом поле отобразится «Пользовательский элемент управления 1 нажат», или, если щелкнуть «Пользовательский элемент управления 2», в текстовом поле «Пользовательский элемент управления 2 щелкнул».