質問: C#でWeb作成している初心者です。 現在、Visual studio 2015にて、練習でWebページを作成しております。 MVCで作成をしております。 ビュー上で"ID"と"名前"をリスト上にして表示させたいのですが、Web上で下記のエラーメッセージが表示されてしまいます。 "ディクショナリに型 'System.Collections.Generic.List`1[WebApplication1.Item]' のモデル項目が渡されましたが、このディクショナリには型 'WebApplication1.Item' のモデル項目が必要です。" ビューでは以下のコードを記載してます。 --- @model WebApplication1.Item @using (Html.BeginForm("Id", "name", FormMethod.Post)) { @Html.TextBoxFor(model => model.ID) @Html.TextBoxFor(model => model.Name) } コントローラ上では、Listを追加され、ビューに返すかたちになっています。 分かる方がいらしゃいましたら、教えて下さい。 宜しくお願い致します。
回答: @model WebApplication1.Item ここがおかしい気がしますね。 指定するのは型名であって、実際に使用する変数ではないです。 @model IEnumerable<型名> となるべきです。 コントローラークラスのアクションのメソッド名で右クリックをしてビューを追加として見てください。 その後にテンプレートをListとし、モデルクラスを使いたいクラスにします。 そうすることでリストを用いたビューが自動作成されますので、それを参考にするといいと思います。