RSS

[ASP.NET] エラー「DropDownList には複数の項目を選択できません」とは

ListBoxには複数選択モードは存在するが、
DropDownListには存在しない。

たとえばユーザーがDropDownListのアイテムを選択した状態でポストバックが走り、
サーバー処理で違うアイテムを選択状態にしようとすると、
このエラーが発生する。

[csharp]
// wrong case 1
ListItem l = DropDownList1.items.FindByText("item_user_doesn\’t_selected");
l.Selected = true;
[/csharp]
[csharp]
// wrong case 2
items["one more error"].Selected = true
[/csharp]
たとえば上記のような操作の前で、

すべてのSelectedをfalseにするか、
SelectedIndex = -1 とするかで解決する

[csharp]
SelectedIndex = -1;
ListItem l = DropDownList1.items.FindByText("item_user_doesn\’t_selected");
l.Selected = true;
[/csharp]
[csharp]
SelectedIndex = -1;
items["one more error"].Selected = true
[/csharp]


2013/05/31 追記

上記は .NET 1.14のころに書いたもの。
vs2012 では エラーは「DropDownList で複数項目が選択されるように指定できません。」だった。

  1. コメントはまだありません。

  1. トラックバックはまだありません。

*