Repeater.DataBind 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
Repeater 컨트롤과 해당 자식 컨트롤을 모두 지정된 데이터 소스에 바인딩합니다.
public:
override void DataBind();
public override void DataBind ();
override this.DataBind : unit -> unit
Public Overrides Sub DataBind ()
예제
다음 코드 예제에서는 사용자 지정 서버 컨트롤에서 항상 데이터 바인딩 이벤트를 발생 되도록 사용자 지정 Repeater 서버 컨트롤에서 메서드를 재정 DataBind 의 하는 방법을 보여 줍니다.
<%@ 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 자동으로 호출합니다.