2009-08-18 18 views
0

ListItemをListItemCollectionに追加するときにListItemを選択します。次に、そのListItemCollectionをDropDownlistのデータソースとして使用しますが、選択リスト項目はデータバインド後に選択されていません。私が代わりに項目のリストと、選択した値で、これは私が項目のリストのみを返すことができますので、仕事に取得しようとしているデータソースのSelected ListItemがデータバインド後に選択されていない

ListItemCollection items = new ListItemCollection(); 
ListItem item; 
item = new ListItem("Option 1", "1"); 
items.Add(item); 
item = new ListItem("Option 2", "2"); 
item.Selected = true; 
items.Add(item); 
ddl1.DataSource = items; 
ddl1.DataBind(); 

:ここでのコードの例があります。 DropDownListをListItemCollection(または他のタイプのコレクション)から選択したListItemを選択させる方法はありますか?

答えて

1

うーん...これはこれを達成するために取るように奇妙な方法のように思える、あなたはこれらの線に沿って何かをすることができる必要があります:

あなたの選択の問題を解決する必要があり
ddl1.Items.Clear(); 
foreach(ListItem item in items) 
{ 
    ddl1.Items.Add(item); 
} 

...

+0

ええと、これはうまくいくかもしれません。なぜこれはここで使用するには奇妙な方法だと思いますか?あなたは何をお勧めします? – mga911

+0

私は、DropDownListをListItemCollectionにバインドするすべての人には実行されていません。通常、DropDownListはIEnumberableを実装した他のオブジェクトをバインドします – LorenVS

0

ドロップダウンにバインドする前に、選択した値を設定することはできません。私はそれが縛られた後にそれをしなければならないと思います。ちょうどあなたのDropDownListのSelectedValueのプロパティを設定

0

ddl1.SelectedValue = "Option 2"; 

ここで私は、文字列リテラルを使用してんだけど、それはそれを設定するitem.Text値に最適です。 DataBind()の前または後に使用できますが、いずれにしても動作します。

関連する問題