使用HttpPost传递IEnumerable或将Model列表到Controller
我有这个问题:
我的模特
public class SpesaTrasportoView { public int SPESATRASPORTOVIEW_ID; public decimal PREZZO; public string DESCRIZIONE; } public class SpeseTrasportoView { public List SpeseTrasportoModello { get; set; } //public IList Spese { get; set; } }
我的看法
@model MvcCart.Models.SpeseTrasportoView @{ ViewBag.Title = "Spese Trasporto"; int counter = 0; } Spese Trasporto
Modifica e gestisci gli importi delle spese di trasporto.
@using (Html.BeginForm()) { }
我的控制器
[HttpPost] public ActionResult SpeseTrasporto(SpeseTrasportoView model) { //model.SpeseTrasportoModello is ever NULL :((((( return View(); }
当我提交model.SpeseTrasportoModello为空! 为什么mvc3不绑定数据????
您需要解决一些问题。 首先为您的模型,制作一切属性。 不要使用字段。
楷模:
public class SpesaTrasportoView { public int SPESATRASPORTOVIEW_ID { get; set; } public decimal PREZZO { get; set; } public string DESCRIZIONE { get; set; } } public class SpeseTrasportoView { public List SpeseTrasportoModello { get; set; } }
现在,在视图中更改for循环,使其如下所示:
@for (int i = 0; i < Model.SpeseTrasportoModello.Count; i++) { var item = Model.SpeseTrasportoModello[i]; }
您需要知道的关键是输入名称格式。 它应该具有模型内部属性的名称(列表),方括号中包含索引,然后是此输入所用属性的名称(例如PREZZO)。