0

ビューにバインドするためにコントローラーにCheckout渡したいモデルにビューをバインドします。渡された時点では、値は null です。PurchasePurchase

私は何を間違っていますか?

チェックアウト ビュー:

@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; }
        }
}
4

2 に答える 2

0

@Html.HiddenFor(x=>x.modelPropery) クイックおよびダーティ ルートを使用できます。これは、DisplayFor に追加されます。

于 2013-02-22T12:03:55.513 に答える
0

以下を使用してテストしましたが、動作します。

チェックアウト ビュー

@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>ではない。

于 2013-02-28T20:43:36.953 に答える