将模型从视图传递到控制器的问题

本文关键字:控制器 问题 模型 视图 | 更新日期: 2023-09-27 18:00:37

我将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; }
        }
}

将模型从视图传递到控制器的问题

您可以使用@Html.HidddeFor(x=>x.modelPropery)快速而肮脏的路由。这是您DisplayFor的附件。

我使用以下方法对它进行了测试,它可以工作。

签出视图

@model ProjectName.Models.BasketModels.Product
@using (Html.BeginForm("Purchased", "Basket", FormMethod.Post))
{
    @Html.TextBoxFor(m=>m.Description)
    <input type="submit" value="Purchase"/>
}

购买的控制器

[HttpPost]
public ActionResult Purchased(BasketModels.Product products)
{
     return View();
}

我意识到您可能仍然希望它作为列表绑定。在这种情况下,我几天来一直在想如何做到这一点,但我没有解决方案。List<string>起作用。List<model>没有。