我有这段代码
ListItem item=new ListItem();
item.Text="foo";
item.Value="1";
ListItem item2=new ListItem();
item2.Text="bar";
item2.Value="2";
List<ListItem> foobar=new List<ListItem>();
foobar.Add(item); foobar.Add(item2);
foreach(ListItem i in foobar)
{
lblPrintInfo.Text+="Text:"+i.Text+" Value: "+i.Value;
}
我希望得到Text:foo Value:1 Text:bar Value:2
类似的结果,但实际上我得到了Text:foo Value:foo Text:bar Value:bar
。我哪里错了?
答案 0 :(得分:4)
foreach(ListItem i in foobar)
{
lbl.PrintInfo+="Text:"+i.Text+" Value: "+item.Value;
}
应该是:
foreach(ListItem i in foobar)
{
lbl.PrintInfo+="Text:"+i.Text+" Value: "+i.Value;
}
(i
代替item
)
答案 1 :(得分:1)
您需要做的是设置DataValueField
和DataTextField
属性:
在listB.DataBind();
电话前添加这些行:
listB.DataTextField = "Text";
listB.DataValueField = "Value";