RepeaterItemEventHandler Delegado
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa el método que controlará los eventos ItemCreated y ItemDataBound de un control Repeater.
public delegate void RepeaterItemEventHandler(System::Object ^ sender, RepeaterItemEventArgs ^ e);
public delegate void RepeaterItemEventHandler(object sender, RepeaterItemEventArgs e);
type RepeaterItemEventHandler = delegate of obj * RepeaterItemEventArgs -> unit
Public Delegate Sub RepeaterItemEventHandler(sender As Object, e As RepeaterItemEventArgs)
Parámetros
- sender
- Object
Origen del evento.
Objeto RepeaterItemEventArgs que contiene los datos del evento.
Ejemplos
En el ejemplo siguiente se muestra cómo especificar y codificar un controlador para el ItemCreated evento de Repeater. Se muestra una nueva línea de texto que indica el tipo de elemento cada vez que se crea un Repeater elemento.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="C#" runat="server">
int Count = 1;
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();
}
}
void R1_ItemCreated(Object Sender, RepeaterItemEventArgs e)
{
String iTypeText = "";
switch (e.Item.ItemType)
{
case ListItemType.Item:
iTypeText = "Item";
break;
case ListItemType.AlternatingItem:
iTypeText = "AlternatingItem";
break;
case ListItemType.Header:
iTypeText = "Header";
break;
case ListItemType.Footer:
iTypeText = "Footer";
break;
case ListItemType.Separator:
iTypeText = "Separator";
break;
}
Label1.Text += "(" + Count++ + ") A Repeater " + iTypeText + " has been created; <br />";
}
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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Repeater Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Repeater Example</h3>
<p style="font-weight: bold">Repeater1:</p>
<asp:Repeater ID="Repeater1" OnItemCreated="R1_ItemCreated" runat="server">
<HeaderTemplate>
<table border="1">
<tr>
<td style="font-weight:bold">Company</td>
<td style="font-weight:bold">Symbol</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<br />
<asp:Label ID="Label1" Font-Names="Verdana"
ForeColor="Green" Font-Size="10pt" Runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script language="VB" runat="server">
Dim Count As Integer = 1
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
Sub R1_ItemCreated(Sender As Object, e As RepeaterItemEventArgs)
Dim iTypeText As String = ""
Select Case e.Item.ItemType
Case ListItemType.Item
iTypeText = "Item"
Case ListItemType.AlternatingItem
iTypeText = "AlternatingItem"
Case ListItemType.Header
iTypeText = "Header"
Case ListItemType.Footer
iTypeText = "Footer"
Case ListItemType.Separator
iTypeText = "Separator"
End Select
Count = Count + 1
Label1.Text &= "(" & Count & ") A Repeater " & _
iTypeText & " has been created; <br />"
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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Repeater Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Repeater Example</h3>
<p style="font-weight: bold">Repeater1:</p>
<asp:Repeater ID="Repeater1" OnItemCreated="R1_ItemCreated" runat="server">
<HeaderTemplate>
<table border="1">
<tr>
<td style="font-weight:bold">Company</td>
<td style="font-weight:bold">Symbol</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
<td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<br />
<asp:Label ID="Label1" Font-Names="Verdana"
ForeColor="Green" Font-Size="10pt" Runat="server"/>
</form>
</body>
</html>
Comentarios
Cuando se crea un delegado RepeaterItemEventHandler, se identifica el método que controlará el evento. Para asociar el evento al controlador, se debe agregar una instancia del delegado al evento. Siempre que se produce el evento, se llama a su controlador, a menos que se quite el delegado. Para obtener más información sobre los delegados del controlador de eventos, vea Control y generación de eventos.
Para obtener más información acerca de cómo controlar eventos, vea controlar y provocar eventos.
Métodos de extensión
GetMethodInfo(Delegate) |
Obtiene un objeto que representa el método representado por el delegado especificado. |