Repeater.OnItemDataBound-Methode
Löst das ItemDataBound-Ereignis aus.
Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)
Syntax
'Declaration
Protected Overridable Sub OnItemDataBound ( _
e As RepeaterItemEventArgs _
)
'Usage
Dim e As RepeaterItemEventArgs
Me.OnItemDataBound(e)
protected virtual void OnItemDataBound (
RepeaterItemEventArgs e
)
protected:
virtual void OnItemDataBound (
RepeaterItemEventArgs^ e
)
protected void OnItemDataBound (
RepeaterItemEventArgs e
)
protected function OnItemDataBound (
e : RepeaterItemEventArgs
)
Parameter
- e
Das RepeaterItemEventArgs-Objekt, das die Ereignisdaten enthält.
Hinweise
Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Behandeln von Ereignissen.
Hinweise für Erben Wenn Sie OnItemDataBound in einer abgeleiteten Klasse überschreiben, müssen Sie die OnItemDataBound-Methode der Basisklasse aufrufen.
Beispiel
Im folgenden Beispiel wird eine Methode für die Behandlung des ItemDataBound-Ereignisses des Repeater-Steuerelements veranschaulicht. Die Daten werden geändert, nachdem sie an ein Element im Repeater-Steuerelement gebunden wurden, jedoch bevor sie auf der Seite wiedergegeben werden.
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<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 Evaluation("Razor Wiper Blades", "Good"))
values.Add(New Evaluation("Shoe-So-Soft Softening Polish", "Poor"))
values.Add(New Evaluation("DynaSmile Dental Fixative", "Fair"))
Repeater1.DataSource = values
Repeater1.DataBind()
End If
End Sub
Sub R1_ItemDataBound(Sender As Object, e As RepeaterItemEventArgs)
' This event is raised for the header, the footer, separators, and items.
' Execute the following logic for Items and Alternating Items.
If (e.Item.ItemType = ListItemType.Item) Or _
(e.Item.ItemType = ListItemType.AlternatingItem) Then
If CType(e.Item.DataItem, Evaluation).Rating = "Good" Then
CType(e.Item.FindControl("RatingLabel"), Label).Text = _
"<b>***Good***</b>"
End If
End If
End Sub
Public Class Evaluation
Private myProductid As String
Private myRating As String
Public Sub New(newProductid As String, newRating As String)
Me.myProductid = newProductid
Me.myRating = newRating
End Sub
Public ReadOnly Property ProductID() As String
Get
Return myProductid
End Get
End Property
Public ReadOnly Property Rating() As String
Get
Return myRating
End Get
End Property
End Class
</script>
</head>
<body>
<h3>OnItemDataBound Example</h3>
<form runat=server>
<p>
<asp:Repeater id=Repeater1 OnItemDataBound="R1_ItemDataBound" runat="server">
<HeaderTemplate>
<table border=1>
<tr>
<td><b>Product</b></td>
<td><b>Consumer Rating</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' Runat="server"/> </td>
<td> <asp:Label id=RatingLabel Text='<%# DataBinder.Eval(Container.DataItem, "Rating") %>' Runat="server"/> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e) {
if (!IsPostBack) {
ArrayList values = new ArrayList();
values.Add(new Evaluation("Razor Wiper Blades", "Good"));
values.Add(new Evaluation("Shoe-So-Soft Softening Polish", "Poor"));
values.Add(new Evaluation("DynaSmile Dental Fixative", "Fair"));
Repeater1.DataSource = values;
Repeater1.DataBind();
}
}
void R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) {
// This event is raised for the header, the footer, separators, and items.
// Execute the following logic for Items and Alternating Items.
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
if (((Evaluation)e.Item.DataItem).Rating == "Good") {
((Label)e.Item.FindControl("RatingLabel")).Text= "<b>***Good***</b>";
}
}
}
public class Evaluation {
private string productid;
private string rating;
public Evaluation(string productid, string rating) {
this.productid = productid;
this.rating = rating;
}
public string ProductID {
get {
return productid;
}
}
public string Rating {
get {
return rating;
}
}
}
</script>
</head>
<body>
<h3>OnItemDataBound Example</h3>
<form runat=server>
<p>
<asp:Repeater id=Repeater1 OnItemDataBound="R1_ItemDataBound" runat="server">
<HeaderTemplate>
<table border=1>
<tr>
<td><b>Product</b></td>
<td><b>Consumer Rating</b></td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "ProductID") %>' Runat="server"/> </td>
<td> <asp:Label id=RatingLabel Text='<%# DataBinder.Eval(Container.DataItem, "Rating") %>' Runat="server"/> </td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<p>
</form>
</body>
</html>
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
Repeater-Klasse
Repeater-Member
System.Web.UI.WebControls-Namespace
ItemDataBound
RepeaterItemEventArgs
RepeaterItemEventHandler