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";
}
}
Если мы нажмем Control1 пользователя, текстовое поле отображает «Управление учетными 1 была нажата кнопка» или если мы нажимаем на User Control2, в текстовом поле отображается «User Control 2 Clicked».