2013-04-15 4 views
7

私はクレジットカードオブジェクトのリストを持っています。クレジットカードのクラスは以下の通りである:別のクラスで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<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

GridView_ListコントロールのASPXコンテンツを投稿してください。 GridViewがあなたのCreditCardオブジェクトに存在しない列にアクセスしようとしているようです。 –

答えて

14

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

私はこれをやっていて、同じ問題を抱えています。 – Marnee

+0

@MarneeはあなたのXAMLとコードを別のSOの質問に投稿し、私たちが助けることができるようにします。あなたが実際にやっていることを私たちが知る方法はありません。 –

+1

ありがとうございます。私はちょうど私がばかだと気づいた。私はパブリックアクセス修飾子を自分のプロパティの前に置くことを忘れていました。ごめんなさい。 – Marnee

5

フィールドを持つオブジェクトとしてCreditCardを定義しました。データバインディングは、プロパティを使用してのみ行うことができます。したがって、すべてのフィールドで次のようにする必要があります。

public String A_Number { get; set; } 
関連する問題