我有一张信用卡对象列表。信用卡类如下:
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<CreditCard> list = (List<CreditCard>)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.
有什么问题?我检查了列表实际上包含数据,所以我不知道为什么它不起作用?如何解决这个问题?
答案 0 :(得分:16)
您必须使用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 { get; set; }
public CreditCard() { }
}
答案 1 :(得分:5)
您已将CreditCard
定义为包含字段的对象。数据绑定只能通过属性完成。所以,你需要为所有领域做这样的事情:
public String A_Number { get; set; }