ドロップダウンリストに選択された値がない場合、デフォルトの空のオプション(またはテキスト付き)を含める方法はありますか?
ドロップダウンリストに選択された値がない場合、デフォルトの空のオプション(またはテキスト付き)を含める方法はありますか?
回答:
以下は、ViewData ["Menu"]項目で指定されたSelectList(またはIEnumerable)の前にstring.Emptyを追加します。選択にはIDと名前がありMenuID
ます。
<%= Html.DropDownList( "MenuID",
(IEnumerable<SelectListItem>)ViewData["Menu"],
string.Empty ) %>
ドキュメント:DropDownListメソッド
この簡単なソリューションは、私のmvc5プロジェクトで機能しました。
ビューで:
@{
Model.ModelItemsList.Add(new ModelItem{ });
SelectList modelItemSelectList = new SelectList(Model.ModelItemsList, "ModelItemID", "ModelItemName");
}
List<>
ビューに表示するアイテムに新しいアイテムを追加するだけです。私の場合、空の「ModelItem」をに追加しましたList<ModelItem> ModelItemList
。ModelItemIDはGuidであるため、コントローラーメソッドでGuid.Emptyを確認し、いくつかのコードを実行する必要がありました。それで全部です。
ここに提示されたソリューションは私にとって非常にうまく機能しました:http://forums.asp.net/t/1142484.aspx/1
基本的な考え方は、のAppendDataBoundItems
プロパティをに設定してDropDownList
からtrue
にを入れることです。これがデフォルトのアイテムになりasp:ListItem
、その後にDropDownList
すべてのデータバインドされたアイテムが続きます。
-1
これはASP.NETWebフォーム用であり、MVC用ではありません。