У меня есть пользовательский веб-элемент управления, который является производным от Panel
. В моей ASPX разметкой для контроля, у меня есть public event EventHandler
называется SubmitButtonClicked
Binding EventHandler для пользовательского WebControl
<cc1:CreditCard ID="CustomCreditCardPopupPanel" runat="server"
SubmitButtonClicked="CustomCreditCardPopupPanel_SubmitClick"> </cc1:CreditCard>
Вот код для пользовательского веб-управления (сокращенные для ясности). Когда веб-элемент управления создается, EventHandler SubmitButtonClicked
всегда имеет значение null. Как передать имя события, которое я хочу связать с Button
под названием BtnSubmit
?
[DefaultProperty("Text"),
AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level = AspNetHostingPermissionLevel.Minimal),
ToolboxData("<{0}:CreditCard runat=server></{0}:CreditCard>")
]
public class CreditCard: Panel {
public event EventHandler SubmitButtonClicked;
public Button BtnSubmit { get; set; }
protected override void OnPreRender(EventArgs e) {
base.OnPreRender(e);
this.BtnSubmit.Click += new EventHandler(SubmitButtonClicked); // SubmitButtonClicked is always null
}
protected void SubmitButtonClicked_Clicked(Object sender, EventArgs e) {
if (SubmitButtonClicked != null) {
SubmitButtonClicked(sender, e);
}
}
}
Это фиксирует нулевой вопрос, но теперь это событие не срабатывает. – PhillyNJ