数据绑定:';System.Web.UI.Pair';不包含名为';第一个';
本文关键字:包含名 第一个 Pair Web System 数据绑定 UI | 更新日期: 2023-09-27 18:15:32
我正在将一个对列表数据绑定到一个下拉列表,由于某种原因,它不起作用,我很感兴趣。
我使用的代码是:
public void BindDropDown(List<Pair> dataList)
{
ddlGraphType.DataTextField = "First";
ddlGraphType.DataValueField = "Second";
ddlGraphType.DataSource = dataList;
ddlGraphType.DataBind();
}
我得到了这个例外,这是一个谎言!
DataBinding: 'System.Web.UI.Pair' does not contain a property with the name 'First'.
提前谢谢。
添加
我知道异常的含义,但pair对象确实包含First和Second属性,这就是问题所在。
First
和Second
是字段,而不是Pair
类型的属性。您需要创建一个具有两个属性的类:
public class NewPair
{
public string First { get; set; }
public string Second { get; set; }
}
编辑:Tuple的使用:由@Damien_The_Unbeliever&Chris Chilvers
List<Tuple<string, string>> list = new List<Tuple<string, string>>()
{
new Tuple<string,string>("One","1"),
new Tuple<string,string>("Two","2"),
};
ddlGraphType.DataTextField = "Item1";
ddlGraphType.DataValueField = "Item2";
ddlGraphType.DataSource = list;
ddlGraphType.DataBind();
这意味着目标属性必须是依赖属性。这也意味着您不能绑定字段和Pair。首先是字段not属性
public sealed class Pair
{
}
字段:
Public field First Gets or sets the first object of the object pair.
Public field Second Gets or sets the second object of the object pair.
请参阅MSDN。
可能您在声明属性后忘记了{get; set;}
。
public class A
{
//This is not a property
public string Str;
//This is a property
public string Str2 {get; set;}
}