将列表绑定到GridView

我有一张信用卡对象列表。 信用卡类如下:

using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Client { public class CreditCard { public String A_Number; public String A_Name; public String A_Type; public String A_Owner_Type; public String Bank_City; public String Bank_State; public String Bank_ZIP; public String Balance; public String C_Username; public CreditCard() { } } } 

在另一个类中,我试图将列表绑定到网格视图,如下所示:

 protected void Page_Load(object sender, EventArgs e) { List list = (List)Session["list"]; GridView_List.DataSource = list; GridView_List.DataBind(); } 

但是,我收到以下错误:

 The data source for GridView with id 'GridView_List' did not have any properties or attributes from which to generate columns. Ensure that your data source has content. 

问题是什么? 我检查了列表实际上包含数据,所以我不知道为什么它不起作用? 怎样才能解决这个问题?

您必须使用DataBinding的公共属性。 按如下方式更新您的课程:

  public class CreditCard { public String A_Number { get; set; } public String A_Name { get; set; } public String A_Type { get; set; } public String A_Owner_Type { get; set; } public String Bank_City { get; set; } public String Bank_State { get; set; } public String Bank_ZIP { get; set; } public String Balance { get; set; } public String C_Username; public CreditCard() { } } 

您已将CreditCard定义为具有字段的对象。 数据绑定只能通过属性完成。 所以,你需要为所有领域做这样的事情:

 public String A_Number { get; set; }