1. ホーム
  2. asp.net-mvc

Html.DropDownList()を使って選択するためのcssクラスを追加する

2023-10-04 12:31:51

質問

何年もwebformsをやってきて、初めてMVCアプリケーションを作っているのですが、どういうわけかこれがうまくいきません。

@Html.DropDownList("PriorityID", String.Empty, new {@class="textbox"} )

エラーメッセージです。

System.Web.Mvc.HtmlHelper<SPDR.Models.Bug> に対する定義が含まれていません。 DropDownList であり、最適な拡張メソッドのオーバーロードである System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, string, System.Collections.Generic.IEnumerable<System.Web.Mvc.SelectListItem>, object) には無効な引数があります。

どんな助けでも大いに感謝します

どのように解決するのですか?

コントローラを見ながら、MVCが実際にどのように機能するかをもう少し学ぶことで、この意味を理解することができました。

私のビューは自動生成されたものの1つで、次のコード行を含んでいました。

@Html.DropDownList("PriorityID", string.Empty)

htmlの属性をつけるには、以下のようなことが必要でした。

@Html.DropDownList("PriorityID", (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class="dropdown" })

Laurentに改めて感謝します。質問が明確でなかったことに気づきました...。

UPDATEです。

よりよい方法としては のドロップダウンリスト を使用することです。そうすれば、name 属性に魔法の文字列を使用する必要はありません。

@Html.DropDownListFor(x => x.PriorityID, (IEnumerable<SelectListItem>)ViewBag.PriorityID, new { @class = "dropdown" })