In this article, I am going to show, "How to bind a Repeater control to a List<> in Visual Studio 2008."

A Repeater control is a light weight templated data-bound list. It has no built-in selection, editing, layout or formatting capabilities. Thus, if you need the capabilities like paging, then you need to build it explicitly for your applications.

Let us create a List<>.

Right click on the project > Add New Item > Choose 'Class' from the Templates and type the name as 'EmployeeList' and finally, click OK.

The EmployeeList.cs will be as:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

public class EmployeeList

{

static EmployeeList()

{

emplst = new List<Employee>();

emplst.Add(new Employee() { EmpID = 1, DeptID = 1, EmpName = "Smith", Country="USA" });

emplst.Add(new Employee() { EmpID = 2, DeptID = 4, EmpName = "Adam", Country = "Japan" });

emplst.Add(new Employee() { EmpID = 3, DeptID = 3, EmpName = "Sara", Country = "China" });

emplst.Add(new Employee() { EmpID = 4, DeptID = 4, EmpName = "Ram", Country = "India" });

emplst.Add(new Employee() { EmpID = 5, DeptID = 3, EmpName = "Kalvin", Country = "UK" });

emplst.Add(new Employee() { EmpID = 6, DeptID = 2, EmpName = "Bravo", Country = "Rusia" });

emplst.Add(new Employee() { EmpID = 7, DeptID = 1, EmpName = "Awesalk", Country = "Japan" });

emplst.Add(new Employee() { EmpID = 8, DeptID = 1, EmpName = "MKargo", Country = "SA" });

emplst.Add(new Employee() { EmpID = 9, DeptID = 1, EmpName = "MSweden", Country = "USA" });

}

public static List<Employee> emplst { get; set; }

}

public class Employee

{

public int EmpID { get; set; }

public int DeptID { get; set; }

public string EmpName { get; set; }

public string Country { get; set; }

}


The Default.aspx will be:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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 runat="server">

<title></title>

</head>

<body>

<form id="form1" runat="server">

<div>

<table cellpadding="0" cellspacing="0" width="40%" align="center" border="2">

<tr>

<td>

<asp:Repeater ID="rptEmployee" runat="server">

<HeaderTemplate>

<table>

<tr>

<th width="100px" align="center">

EmployeeID

</th>

<th width="100px" align="center">

DepartmentID

</th>

<th width="100px" align="center">

Name

</th>

<th width="100px" align="center">

Country

</th>

</tr>

</table>

</HeaderTemplate>

<ItemTemplate>

<table>

<tr>

<td width="100px" align="center">

<%# ((Employee)Container.DataItem).EmpID %>

</td>

<td width="100px" align="center">

<%# ((Employee)Container.DataItem).DeptID %>

</td>

<td width="100px" align="center">

<%# ((Employee)Container.DataItem).EmpName %>

</td>

<td width="100px" align="center">

<%# ((Employee)Container.DataItem).Country %>

</td>

</tr>

</table>

</ItemTemplate>

<FooterTemplate>

</table><br />

</FooterTemplate>

</asp:Repeater>

</td>

</tr>

</table>

</div>

</form>

</body>

</html>

The Default.aspx.cs is:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

rptEmployee.DataSource = EmployeeList.emplst;

rptEmployee.DataBind();

}

}

When you run the application, the result will be:


Image1.JPG


Image 1.