忍者ブログ

2024.05.22
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2008.09.22
C# + ASP.NET のWebアプリで、
ドロップダウンリストを初期選択させる方法を以下に記載します。

あちこちググッたんですが、
そのものズバリを記載したサイトが見つからなかったので、
或いは単なる自分用メモ。

//リスト(dropdownHoge)にアイテムが追加されているものとする
//セッション変数はHOGE

誤コード①(by 後輩):
if (!dropdownHoge.Items.FindByValue(HOGE).Selected)
{
 dropdownHoge.Items.FindByValue(HOGE).Selected = true;
}
//セッション変数HOGE(と一致する値)が選択されていなかった場合、
//HOGEと同じものを選択させようとする意図は判ります。

誤コード②(by猫目):
//Dropdownアイテム分ループ
foreach (ListItem item in dropdownHoge.Items)
{ //セッション変数と一致した場合
 if (item.Value == HOGE)
 { //一致するアイテムを選択する
  item.Selected = true;
  break;
 }
}
//VBぽい方法。
//ドロップダウンアイテム数分回して、
//一致していれば選択させることを意図しました。

①②共に
System.Web.HttpException:
DropDownList で複数項目が選択されるように指定できません。

が出ます。

正解:
int index=0;
//Dropdownアイテム分ループ
foreach (ListItem item in dropdownHoge.Items)
{//セッション変数と一致した場合
 if (item.Value == HOGE)
 { //一致するアイテムを選択する
  dropdownHoge.SelectedIndex = index;
  break;
 }
 index++;
}

これだけ。
ドロップダウンのSelectedIndexを選択(初期表示)するItemのindexにするだけ。
わかってみると「なーんだ」な感じ。

C#, ASP.NET, DropdownList
--
外では雷がものすごく光ってます。
まさに風雲急を告げる感じ。
PR

●この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード

●この記事へのトラックバック
忍者ブログ [PR]
プロフィール
HomePage:

最新の記事
最新のコメント
(01/17)
(05/06)
(03/02)
(03/01)
(03/01)

最新のトラックバック

フリーエリア