web-dev-qa-db-ja.com

MVC3のDropDownListでデフォルトの選択値を設定する

MVC3では、コントローラーにこのコードがあります。インストールテーブルからID\Namesのリストを取得し、ViewBagを作成します

var vs = dba.Installation.OrderBy(q => q.InstName).ToList();
ViewBag.Vessels = new SelectList(vs, "InstId", "InstName");

今、私の見解では。ドロップダウンリストにリストを表示したい。正常に動作するHtmlヘルパーを使用しました...

@Html.DropDownList("InstId",(SelectList)ViewBag.Vessels, "- Select one -")

「-Selectone-」というテキストではなく、ViewBagリストの最初の項目をデフォルトの選択値として設定する必要があります。

どうすればいいですか?

前もって感謝します!

9
equisde

4つの引数を取るSelectListコンストラクターのオーバーロードがあります。最後のものは、デフォルトで選択されたオブジェクトです。例えば:

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", selectedValue);

ここで、selectedValueは、リストにあるあらゆるタイプのオブジェクトです。

21

「-Selectone-」というテキストではなく、ViewBagリストの最初の項目をデフォルトの選択値として設定する必要があります。

次に、リストの最初のアイテム(vs)を選択し、そのIDを取得して、SelectListのselecedValueとして使用する必要があります。

ViewBag.Vessels = new SelectList(vs, "InstId", "InstName", 
    vs.FirstOrDefault().InstId);
4
von v.

ドロップダウンリストのヘルパークラスを作成することもできます。ソリューション内のすべてのドロップダウンリストのデフォルトのテキストとしてテキストを設定するメソッドがあります。

0
Keren Caelen