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 的泛型事件,其中包含参数值。 通过这些值,可以确定引发原始事件的单个控件。 通过响应此单个事件,可以避免为子控件编写单独的事件处理方法。