ビューのチェックボックスの動的なリストを使用して、モデルを作成する方法

StackOverflow https://stackoverflow.com/questions/2022267

  •  19-09-2019
  •  | 
  •  

質問

私は、データベース内のレコードのリストに基づいて、ユーザーが選択できるチェックボックスのリストを表示するASP MVC 2アプリケーションlicationを持っています。リストを表示するには、私のモデルは、Listオブジェクトが含まれているとビューは、foreachのを持っており、リスト内の各項目についてHtml.CheckBoxを出力します。

選択したチェックボックスが移入モデルを取得する方法は、リストが動的であるため、モデルは、それぞれのチェックボックスに特定のプロパティを持つことができないことを考えると、ありますか?それとも私が手動でフォーム変数を介して自分自身を反復処理する必要があるのですか?

編集:sabanitoさんのコメントのあたりなどの追加の詳細 フォームが送信ボタンを経て掲載されたときに、私のモデルは、プロパティ1と呼ばれるプロパティを持っていたのであれば、単純なビュー/モデルのシナリオでは、その後、私の見解は、プロパティ1のためのテキストボックスを出力し、MVCフレームワークが自動的にプロパティ1は、テキストを含むとモデルを移入しますそれは、テキストボックスに入力され、コントローラのアクションにそのモデルを渡しました。

私は、ユーザーがチェックできるオプションの動的リストを取り扱っておりますので、

、私は私のモデルでは、明示的なブール型プロパティを書いて、明示的に私の見解では、チェックボックスを作成することはできません。 MVCフレームワークは、フォームがポストされたときに正しくモデルを移入することができるように私のモデルとビューを作成するための方法がある場合は私のリストは動的であることを考えると、私は思ったんだけど。

役に立ちましたか?

解決

ここで私はどうなるのかです。

あなたが生成するすべての問題を抱えているチェックボックスの動的に?

、であるあなたのViewModelのプロパティを作成していない場合:

public List<string> CheckboxResults { get; set; }

あなたは彼らのすべての共有名=「CheckboxResults」ビューでチェックボックスのを確認して生成した場合。 MVCはアクションメソッドのパラメータとしてのあなたのViewModelを見るとき、それは自動的にすべてのリストで「CheckboxResults」の結果(だけでなく、あなたの他のViewModelのプロパティ)を結合して入れます。今、あなたは、チェックボックスのユーザーがあなたのドメインモデルやどこに送信できることを確認したに基づいて動的なリストを持っています。

かなりクールなもの。私はあなたがチェックボックスの動的生成の問題を抱えているならば、それはリストに結合モデルよりも別々の問題のようなものだ知ってみましょう。

他のヒント

正確にあなたの見解を反映したViewModelにを使用して、のviewmodelにドメインモデル(複数可)をマッピングします。

最初は、多くの場合、彼らが使用するのは簡単だということよりも良い理由、ビュー内で直接ドメインモデルを使用することが適切と思われます。ビューは、時間をかけて、より複雑になりますしかし、あなたはあなたのビューで条件ロジックのTONを入れ終わると、スパゲティで終わります。ビューと1:これを緩和するために、我々は一般的に1を相関ViewModelにを作成します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top