Kullanıcı denetim sınıfınızda OnBubbleEvent() öğesini geçersiz kılın. Doğru döndürürseniz, ana denetimlere "kabarcıkla" son vereceksiniz.
protected override bool OnBubbleEvent(object source, EventArgs args)
{
//handled
return true;
//uncomment line below to bubble up (unhandled)
//return base.OnBubbleEvent(source, args);
}
bazı durumlarda yararlı olabilecek, bu konuda müdahalesi ... siz de kontrol heirachy içinde 'yukarı kabarcıklar' o komut adını değiştirebilir ederken buldum düşünmek başka biraz düzgün bir şey. Çocuğunuzun kullanıcı denetiminde Onclick yerine OnCommand kullanın. Buna
<asp:button id="mySpecialButton"
onClick="mySpecialButton_OnClick" runat="server">
:
Yani, bu kodu değiştirmek, kullanıcı denetiminde bir düğme var demek, codebehind sonra
<asp:Button id="mySpecialButton"
CommandName="mySpecialCommand"
CommandArgument="myArgument"
OnCommand="mySpecialButton_Command"
runat="server"/>
protected void mySpecialButton_Command(object sender, CommandEventArgs e)
{
RaiseBubbleEvent(this, new CommandEventArgs("Handled", e));
}
Böylece, ebeveyn denetiminizin ItemCommand işleyicisinde, özgün komut adından ziyade bu yeni komut adını alacaksınız. uygun gördüğünüzle yapabileceğiniz çocuk kontrolünden e.
James, Bahsettiğiniz Handled özelliğini bulamıyorum. Şu anda bunu bir kullanıcı kontrol düğmesinin tıklama olayında yapmaya çalışıyorum. Yöntem şu imzası vardır: Korumalı Alt btnAddToCart_Click (ByVal gönderen As Nesnesi, ByVal e As System.EventArgs) btnAddToCart.Click e bu durumda yalnızca EventArgs olduğunu ve bir handled özelliği yok. Bu mülke erişmeye çalışmam gereken başka bir yer var mı? – mclark1129