web-dev-qa-db-ja.com

ジェネリックリストをデータソースおよび自動生成列として使用するグリッドビュー

汎用リストを使用してGridViewをロードし、列を自動生成することを検討しています。列を自動生成するための正しいプロパティがないという例外が発生します。

例外

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

GridView

<asp:GridView ID="GV1" runat="server" AutoGenerateColumns="true"></asp:GridView>

ページの読み込み

    //LINQ query to populate list
    List<student> su = new List<student>();
    dbDataContext db = new dbDataContext();
    var q = from c in db.data_table
            where c.processed == false
            orderby c.date_complete descending
            select c;
     //iterate through results and add to list
     foreach(var c in q)
     {
         student s = new student { name = c.name, address = c.address };
         su.Add(s);
     } 

     //Load GridView
     GV1.DataSource = su;
     GV1.DataBind(); //Exception thrown here

学生クラス

public class student
{
    public string name;
    public string address;
}

どんな考えや提案もありがたいです、私がこれについて完全に間違っているかどうか私に知らせてください。

17
jon3laze

studentクラスを調整して、フィールドを次のようなプロパティに変更してみてください。

public class student
{
   public string name { get; set; }
   public string address { get; set; }
}
24
CodingGorilla