我有一张信用卡对象 list 。信用卡类别如下:

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()
        {

        }
    }
}

在另一个类中,我尝试将列表绑定(bind)到网格 View ,如下所示:
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.

问题是什么?我检查了 list 中是否确实包含数据,所以不知道为什么它不起作用?如何解决这个问题?

最佳答案

您必须对DataBinding使用公共(public)属性。如下更新您的类(class):

  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() { }
    }

关于c# - 将列表绑定(bind)到GridView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16020987/

10-11 03:25