MVC5 ビューのドロップダウン リスト
-
21-12-2019 - |
質問
C# MVC5 インターネット アプリケーション ビューで、ユーザーがドロップダウン リストを表示して、 View Model
リスト?
ここにあります ViewModel
コード:
public class MapLocationItemViewModel
{
[Editable(false)]
public int mapLocationForeignKeyId { get; set; }
public List<string> mapLocationItemTypes { get; set; }
public MapLocationItem mapLocationItem { get; set; }
}
これが私が現在持っているコードです View
:
<div class="form-group">
@Html.LabelFor(model => model.mapLocationItem.mapLocationItemType, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.mapLocationItemTypes)
</div>
</div>
の各項目 mapLocationItemTypes
現在は として表示されています class="text-box single-line valid"
.
から入力されたリストを表示する MVC View タグはありますか? list<string>
または array
?
次のコードを試してみました。
@Html.DropDownListFor(model => model.mapLocationItemTypes)
ただし、コンパイル エラーが発生し、オーバーロードされたメソッドの値がわかりません。
ユーザーがリストからリスト項目を選択できるように、ビューにリストを表示する最良の方法はどのようにすればよいでしょうか?
前もって感謝します
解決
モデル :
public List<SelectListItem> mapLocationItemTypes { get; set; }
public int mapLocationItemVal { get; set; }
ビュー:
@Html.DropDownListFor(m => m.mapLocationItemVal , new SelectList(Model.mapLocationItemTypes , "Value", "Text"), " -----Select List----- ")
上記の例では、次の 3 番目のパラメータが DropDownListFor()
つまり " -----Select List----- "
値が等しいドロップダウンの最初に選択された項目になります。 ''
.
POST中のコントローラーにて mapLocationItemVal
選択されたドロップダウン値が表示されます。
上記のコードは、MVC でドロップダウンリストをバインドするための最良かつ最も簡単な方法です。
他のヒント
これを試してください;
データを投稿するときに選択した値に基づいてmapLocationItem.mapLocationItemType
を入力する必要があるとします。
@Html.DropDownListFor(model => model.mapLocationItem.mapLocationItemType, new SelectList(Model.mapLocationItemTypes))
.
CSSクラスを追加したい場合は、以下のように実行できます。
@Html.DropDownListFor(model => model.mapLocationItem.mapLocationItemType, new SelectList(Model.mapLocationItemTypes), new { @class = "your-class" })
. コントローラにメソッドを作成する
Public ActionResult Index()
{
SampleDBContext db = new SampleDBContext();
ViewBag.table_name = new SelectList(db.table_name, "DataValueField", "DataTextField");
return View();
}
.
コントローラのビュー
@Html.DropDownList("table_name", "select a item")
.