Repeater.OnDataBinding Method
.NET Framework 3.0
This method supports the .NET Framework infrastructure and is not intended to be used directly from your code.
Raises the DataBinding event.
Namespace: System.Web.UI.WebControlsAssembly: System.Web (in system.web.dll)
The following code examples demonstrate how to override the OnDataBinding method in a custom server control so that if the event argument is a command type, the Repeater control always calls the OnItemCommand and bubbles up the event, or returns false and cancels the event.
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL.Controls" Assembly="Samples.AspNet.JSL" %>
<%@ Page Language="VJ#" 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 - OnDataBinding - VJ# Example</title>
<script language="VJ#" runat="server">
void Page_Load(Object Sender, EventArgs e)
{
if (!get_IsPostBack()) {
ArrayList values = new ArrayList();
values.Add(new PositionData("Microsoft", "Msft"));
values.Add(new PositionData("Intel", "Intc"));
values.Add(new PositionData("Dell", "Dell"));
Repeater1.set_DataSource(values);
Repeater1.DataBind();
}
} //Page_Load
public class PositionData
{
private String name;
private String ticker;
public PositionData(String name, String ticker)
{
this.name = name;
this.ticker = ticker;
} //PositionData
/** @property
*/
public String get_Name()
{
return name;
} //get_Name
/** @property
*/
public String get_Ticker()
{
return ticker;
} //get_Ticker
} //PositionData
</script>
</head>
<body>
<form id="Form1" method="post" runat="server">
<h3>Custom Repeater - OnDataBinding - VJ# Example</h3>
<aspSample:CustomRepeaterOnDataBinding 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.get_DataItem(), "Name") %></td>
<td> <%# DataBinder.Eval(Container.get_DataItem(), "Ticker") %></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</aspSample:CustomRepeaterOnDataBinding>
</form>
</body>
</html>
package Samples.AspNet.JSL.Controls;
public class CustomRepeaterOnDataBinding
extends System.Web.UI.WebControls.Repeater
{
protected void OnDataBinding(System.EventArgs e)
{
// Raise the OnDataBinding event.
super.OnDataBinding(e);
// Clear out the controls collection and child viewstate.
this.get_Controls().Clear();
this.ClearChildViewState();
// Create a new control hierarchy.
this.CreateControlHierarchy(true);
this.set_ChildControlsCreated(true);
} //OnDataBinding
} //CustomRepeaterOnDataBinding
Community Additions
ADD
Show: