다음을 통해 공유


Control.DataBinding 이벤트

정의

서버 컨트롤에서 데이터 소스에 바인딩할 때 발생합니다.

public:
 event EventHandler ^ DataBinding;
public event EventHandler DataBinding;
member this.DataBinding : EventHandler 
Public Custom Event DataBinding As EventHandler 

이벤트 유형

예제

/* Create a class that implements the ITemplate interface.
   This class overrides the InstantiateIn method to always
   place templates in a Literal object. It also creates a 
   custom BindData method that is used as the event handler
   associated with the Literal object's DataBinding event.  
*/
  
using System;
using System.Web;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace UsingItemTemplates
{
    public class GenericItem : ITemplate
    {
        private string column;
      
        public GenericItem(string column)
        {
            this.column = column;
        }

        // Override the ITemplate.InstantiateIn method to ensure 
        // that the templates are created in a Literal control and
        // that the Literal object's DataBinding event is associated
        // with the BindData method.
        public void InstantiateIn(Control container)
        {
            Literal l = new Literal();
            l.DataBinding += new EventHandler(this.BindData);
            container.Controls.Add(l);
        }
        // Create a public method that will handle the
        // DataBinding event called in the InstantiateIn method.
        public void BindData(object sender, EventArgs e)
        {
            Literal l = (Literal) sender;
            DataGridItem container = (DataGridItem) l.NamingContainer;
            l.Text = ((DataRowView) container.DataItem)[column].ToString();
        }
    }
}
' Create a class that implements the ITemplate interface.
' This class overrides the InstantiateIn method to always
' place templates in a Literal object. It also creates a 
' custom BindData method that is used as the event handler
' associated with the Literal object's DataBinding event.  

Imports System.Web
Imports System.Data
Imports System.Web.UI
Imports System.Web.UI.WebControls


Namespace UsingItemTemplatesVB

 Public Class GenericItem
   Implements ITemplate 

   Private column As String
   
   Public Sub New(column As String)
      Me.column = column
   End Sub
   
   
   ' Override the ITemplate.InstantiateIn method to ensure 
   ' that the templates are created in a Literal control and
   ' that the Literal object's DataBinding event is associated
   ' with the BindData method.
   Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn
      Dim l As New Literal()
      AddHandler l.DataBinding, AddressOf Me.BindData
      container.Controls.Add(l)
   End Sub
   
   ' Create a public method that will handle the
   ' DataBinding event called in the InstantiateIn method.
   Public Sub BindData(sender As Object, e As EventArgs)
      Dim l As Literal = CType(sender, Literal)
      Dim container As DataGridItem = CType(l.NamingContainer, DataGridItem)
      l.Text = CType(container.DataItem, DataRowView)(column).ToString()
   End Sub
 End Class
End Namespace 'UsingItemTemplatesVB

설명

이 이벤트는 서버 컨트롤에 기록된 데이터 바인딩 논리를 수행하도록 알 수 있습니다.

적용 대상

추가 정보