Repeater.DataBind Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Привязывает элемент управления Repeater и все его дочерние элементы управления к указанному источнику данных.
public:
override void DataBind();
public override void DataBind ();
override this.DataBind : unit -> unit
Public Overrides Sub DataBind ()
Примеры
В следующем примере кода показано, как переопределить DataBind метод в пользовательском серверном элементе управления, чтобы оно всегда вызывало событие привязки данных в пользовательском Repeater серверном элементе управления.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS.Controls" Assembly="Samples.AspNet.CS" %>
<%@ 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Custom Repeater - DataBind - 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 - DataBind - C# Example</h3>
<aspSample:CustomRepeaterDataBind 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:CustomRepeaterDataBind>
</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 - DataBind - 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 - DataBind - VB.NET Example</h3>
<aspSample:CustomRepeaterDataBind 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:CustomRepeaterDataBind>
</form>
</body>
</html>
using System.Web;
using System.Security.Permissions;
namespace Samples.AspNet.CS.Controls
{
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomRepeaterDataBind : System.Web.UI.WebControls.Repeater
{
public override void DataBind()
{
// Raise the DataBinding event.
this.OnDataBinding(System.EventArgs.Empty);
}
}
}
Imports System.Web
Imports System.Security.Permissions
Namespace Samples.AspNet.VB.Controls
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomRepeaterDataBind
Inherits System.Web.UI.WebControls.Repeater
Public Overrides Sub DataBind()
' Raise the DataBinding event.
Me.OnDataBinding(System.EventArgs.Empty)
End Sub
End Class
End Namespace
Комментарии
Используйте метод для привязки DataBind источника данных, указанного DataSource свойством к элементу Repeater управления. При привязке источника данных к Repeater элементу управления сведения в источнике данных отображаются в элементе управления.
Этот DataBind метод также часто используется для синхронизации источника данных и элемента управления перечислением данных после обновления сведений в источнике данных. Это позволяет обновлять любые изменения в источнике данных в элементе управления перечислением данных.
Если источник данных для Repeater элемента управления задается свойством DataSourceID , не нужно явно вызывать DataBind метод. ASP.NET вызывает этот метод автоматически для привязки указанного элемента управления источником данных к элементу Repeater управления.