将列表绑定到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; }