如何将[HttpGet]列表变量传递给mvc4中的[HttpPost]?

时间:2014-11-26 13:08:48

标签: asp.net-mvc-4

我的问题是列表变量,当我将变量添加到列表中时,变量在HttpGet中正确添加到列表中,当我在HttpPost中传递相同的变量时,变量没有传递,为什么变量没有传递给HttpPost,请帮我解决这个问题,我在下面给出我的代码,请检查。

 List<tbl_Basket2> basket2 = new List<tbl_Basket2>();

 [HttpPost] 
 public ActionResult Basket(tbl_Basket2 basket2)
 {
             int qty=basket.int_Qty ;
             return View(basket2);

 }


             view page,


            foreach (var item in Model)
                {    
                 @Html.DisplayFor(m => item.dec_Price)
                  @Html.EditorFor(m => item.int_Qty)
                  @Html.DisplayFor(m => item.TotalPrice)
                 }

1 个答案:

答案 0 :(得分:0)

在控制器中: -

public ActionResult Basket(tbl_Basket2 basket2)

更改为:

public ActionResult Basket(List<tbl_Basket2> basket2)

将视图模型更改为使用@model List<tbl_Basket2>而不是Ienumerable作为模型。

更改视图以使用for - next循环: -

@using (Html.BeginForm()) 
  { 
   for (var i = 0; i < Model.Count(); i++)  
   {
       @Html.DisplayFor(m => item[i].dec_Price) 
       @Html.EditorFor(m => item[i].int_Qty) 
       @Html.DisplayFor(m => item[i].TotalPrice) 
   } 
}

这应该与MVC deserialiser模型绑定器很好地配合。