質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

Q&A

解決済

1回答

2262閲覧

NET MVC コントローラーへモデル(複数)に詰めて渡したいのですがうまくいきません

masaru2

総合スコア12

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

0グッド

0クリップ

投稿2019/06/26 08:13

.NET MVC C# でカートシステムを作成していますが、注文かごの内容を
表示した際にチェックリストを設けており、チェック状態を
コントローラーへモデル(複数)に詰めて渡したいのですがうまくいきません。(※Controllerの部分)
ご教授いただけますでしょうか

ソースコード Model namespace Store2.Models { public class OrderTemp { public bool Select { get; set; } public int Id { get; set; } public string Category { get; set; } public string Product { get; set; } public string Contracted { get; set; } public int Qty { get; set; } public int Price { get; set; } public int Delivery { get; set; } } } namespace Store2.Models { using System; using System.Data.Entity; using System.Linq; public class OrderTempModel : DbContext { public OrderTempModel() : base("name=OrderTempModel") { } public virtual DbSet<OrderTemp> OrderTemps { get; set; } } }
Controller public class OrderController : Controller { //注文未確定データ取得 private OrderTempModel db = new OrderTempModel(); // GET: Order public ActionResult Index() { return View(); } //商品カート [ActionName("orderbasket")] [HttpGet] public ActionResult orderbasketForGet() { ViewBag.Message = "Your contact page."; //商品かごの情報取得 var testList = new List<OrderTemp>(); var test = db.Database.SqlQuery<OrderTemp>("SELECT * FROM OrderTemps ;"); if (test != null) { return View(test.ToList()); } return View(); } [ActionName("orderbasket")] [HttpPost] public ActionResult orderbasketForPost(List<OrderTemp> order) ←** ※orderは空でした** { return View(); }
View(orderbasket) <head> @model IEnumerable<Store2.Models.OrderTemp> @{ ViewBag.Title = "orderbasket"; } </head> <body> @foreach (var item in Model) { i = i + 1; <tr> <td> <input type="checkbox" name="Select" checked=@item.Select /> </td> <td> @Html.DisplayFor(modelItem => item.Id) </td> <td> <a href=@Url.Action("categorylist","Order")>@item.Category</a> </td> <td> <a href=@Url.Action("orderlist","Order")>@item.Product</a> </td> <td> @Html.DisplayFor(modelItem => item.Contracted) </td> <td> @Html.DisplayFor(modelItem => item.Qty) </td> <td> @Html.DisplayFor(modelItem => item.Price) </td> <td> @Html.DisplayFor(modelItem => item.Delivery) </td> </tr> } </tbody> </table> </div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

質問したようなビューとモデルを密結合するような場合は、モデルビューを利用しなければならないとの
情報がありました。今回は、コントロールへ返したい情報は、チェックボックスの情報だけでよかった
のでモデルバインドにより解決しました。

投稿2019/06/27 09:05

masaru2

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問