Reputation: 61
I am trying to display a simple list of objects data in a web page. I am only getting the labels to show up in the output and no data. Please tell me what maybe the mistake in this code.
I am getting the following output
Name
Age
City
Name
Age
City
Name
Age
City
Desired output is
Name Donna
Age 40
City New York
Name Raj
Age 10
City New York
Name Art
Age 16
City New York
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Customer : System.Web.UI.Page
{
public class myCustomer {
public String Name {get;set;}
public int Age { get; set; }
public String City { get; set; }
public myCustomer()
{
}
public myCustomer(string _name, int _age, string _city)
{
Name = _name;
Age = _age;
City = _city;
}
}
List<myCustomer> customerList;
protected void Page_Load(object sender, EventArgs e)
{
customerList = new List<myCustomer>();
myCustomer co1 = new myCustomer { Name = "Donna", Age = 40, City = "New York" };
myCustomer co2 = new myCustomer("Raj", 10, "New York");
myCustomer co3 = new myCustomer("Art", 16, "New York");
customerList.Add(co1);
customerList.Add(co2);
customerList.Add(co3);
testDataGrid.DataSource = customerList;
testDataGrid.DataBind();
}
}
<%@ Page Language="C#" CodeFile="customer.aspx.cs" Inherits="Customer" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater id="testDataGrid" runat="server" >
<ItemTemplate>
<table>
<tr><td>Name</td><td><asp:TextBox ID="Customer Name" Text= '<%# Eval("Name") %>' visible="true"/> </td></tr>
<tr><td>Age</td><td><asp:TextBox ID="Age" Text= '<%# Eval("Age") %>'visible="true" /></td></tr>
<tr><td>City</td><td><asp:TextBox ID="City" Text='<%# Eval("City") %>' visible="true" /></td></tr>
</table>
</ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
Upvotes: 2
Views: 6052
Reputation: 100
Your textboxes need a runat="server"
<asp:TextBox id="tbName" runat="server" Text='<%#Eval("Name") %>'/>
Upvotes: 2