Control.RaiseBubbleEvent(Object, EventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指派事件的任何來源和它的資訊至控制項的父控制項。
protected:
void RaiseBubbleEvent(System::Object ^ source, EventArgs ^ args);
protected void RaiseBubbleEvent (object source, EventArgs args);
member this.RaiseBubbleEvent : obj * EventArgs -> unit
Protected Sub RaiseBubbleEvent (source As Object, args As EventArgs)
參數
- source
- Object
事件的來源。
範例
下列程式碼範例示範如何建立自訂類別 , ChildControl
覆寫 Button.OnClick 方法來呼叫 RaiseBubbleEvent 方法,以將事件傳送 Button.Click 至其父系 ASP.NET 伺服器控制項。 當使用者按一下包含 實例 ChildControl
之 ASP.NET 網頁中的按鈕時,它會在包含 實例 ChildControl
的父控制項上引發 OnBubbleEvent 方法,並將字串 「呼叫 ChildControl 類別 OnClick 方法」寫入頁面。
public class ChildControl : Button
{
[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
protected override void OnClick(EventArgs e)
{
base.OnClick(e);
Context.Response.Write("<br><br>ChildControl's OnClick called.");
// Bubble this event to parent.
RaiseBubbleEvent(this, e);
}
Public Class ChildControl
Inherits Button
<System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _
Protected Overrides Sub OnClick(e As EventArgs)
MyBase.OnClick(e)
Context.Response.Write("<br><br>ChildControl's OnClick called.")
' Bubble this event to parent.
RaiseBubbleEvent(Me, e)
End Sub
End Class
備註
ASP.NET 伺服器控制項,例如 Repeater , DataList 和 GridView Web 控制項可以包含引發事件的子控制項。 例如,控制項中的每個 GridView 資料列都可以包含範本動態建立的一或多個按鈕。 與個別引發事件的按鈕相反,來自巢狀控制項的事件會「泡泡」-也就是說,它們會傳送至控制項的父代。 父代接著會以參數值引發稱為 RowCommand 的泛型事件。 這些值可讓您判斷引發原始事件的個別控制項。 藉由回應這個單一事件,您可以避免撰寫子控制項的個別事件處理方法。
雖然您無法覆寫這個方法,但您撰寫的控制項可以覆 OnBubbleEvent 寫 方法來處理或引發泡泡事件。