gpt4 book ai didi

c# - 将列表数据绑定(bind)到 GridView。 GridView 找不到我的属性!

转载 作者:太空宇宙 更新时间:2023-11-03 18:44:28 24 4
gpt4 key购买 nike

给定:

我有一个类:

class MyObject
{
public string Field1;
public string Field2;
}

和下面的代码:

var list = SomeFunction(); // returns a valid List<MyObject>
gvMyList.DataSource = list;
gvMyList.DataBind(); // THIS THROWS AN EXCEPTION

以及 aspx 页面中的 GridView 控件:

<asp:GridView ID="gvMyList" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateField HeaderText="Field 1">
<ItemTemplate>
<asp:Label ID="lblCourse" runat="server" Text='<%# Eval("Field1") + " " + Eval("Field2") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

问题:

所以我知道如果有东西实现了IEnumerable然后它可以传递给 DataSource属性(property)。据我所知,如果你通过 DataSource a List 那么我应该可以访问 MyObject使用 Eval("Field1") 的属性或 Eval("Field2") .这里不是这种情况。相反,我抛出了一个异常:

DataBinding: 'MyObject' does not contain a property with the name 'Field1'.

最佳答案

您的类包含字段,而不是属性;您必须以这种方式定义属性:

 class MyObject
{
public string Field1 { get; set; }
public string Field2 { get; set; }
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com