Repeater.OnBubbleEvent(Object, EventArgs) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Genera l'evento ItemCommand se il parametro EventArgs
è un'istanza dell'oggetto RepeaterCommandEventArgs.
protected:
override bool OnBubbleEvent(System::Object ^ sender, EventArgs ^ e);
protected override bool OnBubbleEvent (object sender, EventArgs e);
override this.OnBubbleEvent : obj * EventArgs -> bool
Protected Overrides Function OnBubbleEvent (sender As Object, e As EventArgs) As Boolean
Parametri
- sender
- Object
Origine dell'evento.
Restituisce
true
se è stato generato l'evento ItemCommand; in caso contrario false
.
Esempio
Nell'esempio di codice seguente viene illustrato come eseguire l'override del OnDataBinding metodo in un controllo server personalizzato in modo che, se l'argomento dell'evento è un tipo di comando, il Repeater controllo chiama sempre l'evento OnItemCommand e viene generato o restituito false
e annullato l'evento.
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom Repeater - OnBubbleEvent - C# Example</title>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e)
{
if (!IsPostBack)
{
ArrayList values = new ArrayList();
values.Add(new PositionData("Microsoft", "Msft"));
values.Add(new PositionData("Intel", "Intc"));
values.Add(new PositionData("Dell", "Dell"));
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
public class PositionData
{
private string name;
private string ticker;
public PositionData(string name, string ticker)
{
this.name = name;
this.ticker = ticker;
}
public string Name
{
get
{
return name;
}
}
public string Ticker
{
get
{
return ticker;
}
}
}
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom Repeater - OnBubbleEvent - C# Example</h3>
<aspSample:CustomRepeaterOnBubbleEvent id="Repeater1" runat="server">
<HeaderTemplate>
<table border="1" cellpadding="4" cellspacing="0">
<tr>
<th>Company</th>
<th>Symbol</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %></td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</aspSample:CustomRepeaterOnBubbleEvent>
</form>
</body>
</html>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.VB.Controls" Assembly="Samples.AspNet.VB" %>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom Repeater - OnBubbleEvent - VB.NET Example</title>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
If Not IsPostBack Then
Dim values As New ArrayList()
values.Add(New PositionData("Microsoft", "Msft"))
values.Add(New PositionData("Intel", "Intc"))
values.Add(New PositionData("Dell", "Dell"))
Repeater1.DataSource = values
Repeater1.DataBind()
End If
End Sub
Public Class PositionData
Private myName As String
Private myTicker As String
Public Sub New(newName As String, newTicker As String)
Me.myName = newName
Me.myTicker = newTicker
End Sub
Public ReadOnly Property Name() As String
Get
Return myName
End Get
End Property
Public ReadOnly Property Ticker() As String
Get
Return myTicker
End Get
End Property
End Class
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom Repeater - OnBubbleEvent - VB.NET Example</h3>
<aspSample:CustomRepeaterOnBubbleEvent id="Repeater1" runat="server" >
<HeaderTemplate>
<table border="1" cellpadding="4" cellspacing="0">
<tr>
<th>Company</th>
<th>Symbol</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %></td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</aspSample:CustomRepeaterOnBubbleEvent>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomRepeaterOnBubbleEvent : System.Web.UI.WebControls.Repeater
{
protected override bool OnBubbleEvent(object source, System.EventArgs args)
{
// If the EventArgs are of type RepeaterCommandEventArgs,
// then call the OnItemCommand event handler and return true (bubble up the event)
// else return false (don't bubble up the event).
bool isHandled = false;
if (args is System.Web.UI.WebControls.RepeaterCommandEventArgs)
{
this.OnItemCommand((System.Web.UI.WebControls.RepeaterCommandEventArgs)args);
isHandled = true;
}
return isHandled;
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomRepeaterOnBubbleEvent
Inherits System.Web.UI.WebControls.Repeater
Protected Overrides Function OnBubbleEvent(ByVal [source] As Object, ByVal args As System.EventArgs) As Boolean
' If the EventArgs are of type RepeaterCommadnEventArgs,
' then call the OnItemCommand event handler and return true (bubble up the event)
' else return false (don't bubble up the event).
Dim isHandled As Boolean = False
If TypeOf args Is System.Web.UI.WebControls.RepeaterCommandEventArgs Then
Me.OnItemCommand(CType(args, System.Web.UI.WebControls.RepeaterCommandEventArgs))
isHandled = True
End If
Return isHandled
End Function
End Class
End Namespace