如何使用gridview绑定List <myclass>数据?</myclass>

时间:2009-06-01 12:13:44

标签: c# .net asp.net generics data-binding

Look please my web service codes return type List

我使用listformat List从Web服务获取数据;还在下面创建了一个gridview并将列表返回到gridview数据源。发生错误:

在所选数据源中找不到名称为“name”的字段或属性。

  <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
        <Columns>
        <asp:BoundField HeaderText="Ad" DataField="name" />
        <asp:BoundField HeaderText="SoyAd" DataField="surname" />
        <asp:BoundField HeaderText="Numara" DataField="number" />
        </Columns>
        </asp:GridView>

 wstest ws = new wstest();
            GridView1.DataSource = ws.GetList(); ;
            GridView1.DataBind();

2 个答案:

答案 0 :(得分:1)

检查您生成的列表内容。如果你没有一个名为name的字段,当你调用GetList()时它会被输出,那么它将会中断,因为GridView正在寻找它并且它不在那里进行绑定。

但是,您可能需要为我们粘贴更多代码以验证这一点。

修改:根据您创建的类的链接,您似乎需要验证您的属性“名称”是否在所有区域中使用了正确的大小写。 C#区分大小写,因此很可能是它被抛弃的原因。确保您的其他房产。

编辑2 :还应注意,混淆可能来自您的私人成员全部为小写,而您的属性已大写。您的GridView将绑定到公共属性,因此您希望确保Gridview查看大写属性“Name”,“SurName”等。

答案 1 :(得分:0)

这一行

<asp:BoundField HeaderText="Ad" DataField="name" />

表示从列表中的每个项目获取一个proprty值,并将其绑定到网格中的此列。似乎列表中的项目没有属性“名称”