Control.OnBubbleEvent(Object, EventArgs) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет, передается ли событие серверного элемента управления вверх по иерархии серверных элементов управления пользовательского интерфейса страницы.
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 веб-элементы управления, могут содержать дочерние элементы управления, которые вызывают события. Например, каждая строка в элементе GridView управления может содержать одну или несколько кнопок, динамически создаваемых шаблонами. Вместо каждой кнопки, которая вызывает событие по отдельности, события из вложенных элементов управления "пузырьковые", то есть отправляются в контейнер именования. Контейнер именования, в свою очередь, вызывает универсальное событие RowCommand со значениями параметров. Эти значения позволяют определить, какой отдельный элемент управления вызвал исходное событие. Отвечая на это одно событие, можно избежать необходимости писать отдельные методы обработки событий для дочерних элементов управления.