web-dev-qa-db-ja.com

デフォルトの空のオプションを使用したASP.NET MVCドロップダウン

ドロップダウンリストに選択された値がない場合、デフォルトの空のオプション(またはテキスト付き)を含める方法はありますか?

79

以下は、ViewData ["Menu"]項目で指定されたSelectList(またはIEnumerable)にstring.Emptyを追加します。 selectはidと名前MenuIDを持ちます。

<%= Html.DropDownList( "MenuID",
                      (IEnumerable<SelectListItem>)ViewData["Menu"],
                      string.Empty ) %>

ドキュメント: DropDownListメソッド

127
tvanfosson

例:

    Controller :

    private void InitScreenInfoCollate()
    {   
        IEnumerable<MstBrd> listbrd = ibrandRepository.GetItemsByUsercode("");
        ViewBag.Brands = new SelectList(listbrd, "brd_cod", "brd_mei", null);

    }

    View :
    @Html.DropDownList("Brands", null, string.Empty, new { @class = "form-control"})

結果:

inline image

7
tiepnv

この簡単なソリューションは、私のmvc5プロジェクトで機能しました。

ビュー:

@{
     Model.ModelItemsList.Add(new ModelItem{ });
     SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}

ビューに表示するList<>に新しいアイテムを追加するだけです。私の場合、List<ModelItem> ModelItemListに空の「ModelItem」を追加しました。 ModelItemIDはGuidであるため、コントローラーメソッドでGuid.Emptyを確認し、コードを実行する必要がありました。それで全部です。

0
PixelPlex