【发布时间】:2013-02-21 15:31:08
【问题描述】:
我将我的Checkout 视图与我想传递给我的Purchase 控制器的模型绑定
绑定到我的Purchase 视图。
在它被传递的那一刻,它的值为null。
我做错了什么?
结帐视图:
@model List<BasketModels.Product>
@using (Html.BeginForm("Purchased", "Basket", FormMethod.Post))
{
// problem here
<input type="submit" value="Purchase"/>
}
采购控制人:
[HttpPost]
public ActionResult Purchased(List<BasketModels.Product> products)
产品模式:
public class BasketModels
{
public class Product
{
public int ID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
public decimal UnitPrice { get; set; }
public string ImageURL { get; set; }
[Display(Name = "Quantity")]
public int Quantity { get; set; }
public int Stock { get; set; }
[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
public decimal Price { get; set; }
[DisplayFormat(DataFormatString = "{0:N}", ApplyFormatInEditMode = true)]
public decimal TotalPrice { get; set; }
}
}
【问题讨论】:
-
你能把你的提交按钮简化为
<input type="submit" value="submit" />,看看你的进展如何?你不应该在那里需要所有 JS 重定向的东西 -
我认为使用 DisplayFor 不会填充您的模型
-
@CrazyCoderz 那行不是问题,它是底部的提交按钮
-
提交按钮中的 onclick 事件已损坏。提交按钮不需要点击处理程序。如果您单击提交按钮,浏览器会将数据发布到您在表单元素的 action 属性中设置的 url。在你的情况下,mvc 在 Html.BeginForm 为你做这件事
-
@Oliver 我按照 Vazes 的评论删除了那部分,但它仍然是空的。
标签: c# unit-testing asp.net-mvc-4