-1
我不確定是什麼錯,因爲我對MVC非常陌生。這是一個購物車。客戶可以查看購物車並編輯數量。已發佈模型爲空
在HttpPost ViewCart方法上,購物車始終爲空,行數爲零。
控制器:
public ActionResult ViewCart() {
var cart = (CartViewModel)Session["Cart"];
return View(cart);
}
[HttpPost]
public ActionResult ViewCart(CartViewModel cart) {
Session["Cart"] = cart;
return RedirectToAction("Order", "Checkout");
}
查看:
@model CartViewModel
using (Html.BeginForm()) {
<h2>Your cart</h2>
<table>
<thead> ... </thead>
<tbody>
@foreach (var item in Model.Lines) {
<tr>
<td>@Html.DisplayFor(modelItem => item.Article.Description)</td>
<td>@Html.EditorFor(modelItem => item.Quantity)</td>
</tr>
}
</tbody>
</table>
<input type="submit" value="Checkout">
}
視圖模型:
public class CartViewModel {
public List<Line> Lines { get; set; }
public CartViewModel() {
Lines = new List<Line>();
}
}
你不能使用'foreach'循環來生成表單控件 - 你需要使用'for'循環(檢查html之前和之後瞭解差異) –