UserControl1.ascx
UserControl1.ascx.cs
public partial class 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
Klasa publiczna częściowy 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);
}
}
Następnie dodaj jedno pole tekstowe Asp.Net (aby wyświetlić identyfikator kontrolny użytkownika) i powyżej dwóch elementów sterujących użytkownika do strony Aspx, jak pokazano poniżej.
<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>
Teraz dodać obsługi zdarzeń dla każdego użytkownika kontroli do obsługi zdarzenia kliknięcia przycisku z dwóch formantów, jak pokazano poniżej.
publicznych częściowe klasy _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";
}
}
Jeśli klikniemy użytkownika kontroli1, wyświetlacze polu „Kontrola Użytkownik 1 lub jeśli kliknąłeś dla niej” klikamy na Kontrola użytkownika2, pole tekstowe wyświetla "Kontrola użytkownika 2 kliknięta".