Если поведение очень специфично для типа элемента управления, вы можете сделать следующее
Создать перечисление
public enum MyUserControlAction
{
FirstAction = 0,
SecondAction = 1,
ThirdAction = 2
}
, а затем создать общедоступное свойство в вашем пользовательском элементе управления
public MyUserControlAction Action {get;set;}
затем в вашем пользовательском элементе управления обработчик нажатия кнопки
protected void btn_Click(object sender,EventArgs e)
{
switch (this.Action)
{
case MyUserControlAction.FirstAction:DoSomething();break;
case MyUserControlAction.SecondAction:DoSomethingElse();break;
case MyUserControlAction.ThirdAction:DoSomethingAgain();break;
}
}
затем, когда вы добавляете в форму
<cc1:MyUserControl runat="server" Action="FirstAction" ID="ctrl1" />
<cc1:MyUserControl runat="server" Action="SecondAction" ID="ctrl2" />
<cc1:MyUserControl runat="server" Action="ThirdAction" ID="ctrl3" />
, другое решение - выставить клик
public event EventHandler<EventArgs> Click;
protected virtual void OnClick()
{
if (this.Click !=null)
{
this.Click.Invoke(this,EventArgs.Empty);
}
}
затем нажмите кнопку
protected void btn_Click(object sender,EventArgs e)
{
this.OnClick();
}
Затем вы можете обрабатывать нажатие кнопки как событие на пользовательском элементе управления и делать то, что вам нравится ...