1

私はこのコードを持っています

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ます。私はどこが間違っていますか?

4

2 に答える 2

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)

于 2012-07-25T15:21:49.853 に答える
1

あなたがする必要があるのはDataValueField、属性を設定することです:呼び出しDataTextFieldの前にこれらの行を追加します:listB.DataBind();

listB.DataTextField = "Text";
listB.DataValueField = "Value";
于 2012-07-25T16:12:33.200 に答える