Control.OnBubbleEvent(Object, EventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
決定伺服器控制項的事件是否要在頁面的 UI 伺服器控制項階層架構中向上傳遞。
protected:
virtual bool OnBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected virtual bool OnBubbleEvent (object source, EventArgs args);
abstract member OnBubbleEvent : obj * EventArgs -> bool
override this.OnBubbleEvent : obj * EventArgs -> bool
Protected Overridable Function OnBubbleEvent (source As Object, args As EventArgs) As Boolean
參數
- source
- Object
事件的來源。
傳回
如果事件已取消,則為 true
,否則為 false
。 預設為 false
。
範例
下列範例會 OnBubbleEvent 覆寫自訂 ASP.NET 伺服器控制項 ParentControl
中的 方法。 這個方法會在呼叫 方法的 ParentControl
子控制項時叫 RaiseBubbleEvent 用。 發生這種情況時,類別 ParentControl
會將兩個字串寫入包含 ASP.NET 網頁,第一個指出已呼叫其 OnBubbleEvent 方法,第二個字串會識別方法的原始 RaiseBubbleEvent 檔控制。
public class ParentControl : Control
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override bool OnBubbleEvent(object sender, EventArgs e)
{
Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.");
Context.Response.Write("<br>Source of event is: " + sender.ToString());
return true;
}
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void Render( HtmlTextWriter myWriter)
{
myWriter.Write("ParentControl");
RenderChildren(myWriter);
}
}
Public Class ParentControl
Inherits Control
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Function OnBubbleEvent(sender As Object, e As EventArgs) As Boolean
Context.Response.Write("<br><br>ParentControl's OnBubbleEvent called.")
Context.Response.Write(("<br>Source of event is: " + sender.ToString()))
Return True
End Function 'OnBubbleEvent
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub Render(myWriter As HtmlTextWriter)
myWriter.Write("ParentControl")
RenderChildren(myWriter)
End Sub
End Class
_
備註
ASP.NET 伺服器控制項,例如 Repeater , DataList 和 GridView Web 控制項可以包含引發事件的子控制項。 例如,控制項中的每個 GridView 資料列都可以包含範本動態建立的一或多個按鈕。 而不是個別引發事件的按鈕,來自巢狀控制項的事件會「泡泡」,也就是說,它們會傳送至命名容器。 命名容器接著會引發使用參數值呼叫 RowCommand 的泛型事件。 這些值可讓您判斷引發原始事件的個別控制項。 藉由回應這個單一事件,您可以避免撰寫子控制項的個別事件處理方法。