選択リストデータをビューに送信するか、データ自体を取得する必要がありますか?

私は私のコントローラにcreateメソッドを持っており、これはビューを開きます。ビューでは、ユーザーはデータを入力してモデルにデータを入力できます。そのデータの一部は選択リストからのものです。これらの選択リストは、データベースから取り込まれます。

私が知りたいことは、私がすべきことです:

a)コントローラの選択リストのデータを取得し、次のようなフィールドに値を設定します。

public IEnumerable Statuses { get { return GetStatusType(); } }

ステータスをモデルに渡し、次にfor()を実行してステータスをループし、選択リストとオプションHTMLを作成します

b)コントローラーで何も行わず、モデル内で次のことを確認します。


SelectHelperは、すべての選択リストとオプションHTMLを取得するC#コードです。

c)もっと良い方法:

ベストアンサー

I would create a view model, which has a IEnumerable<
Statuses > property. Then in your view to display the select
element :

@Html.DropDownListFor(model => model.PageMeta.StatusID, new SelectList(Model.Statuses, "Id", "Name"), "Some default which has no value")

IdとNameがStatusesモデルの適切なプロパティに設定されている場所。

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です