2014年8月9日 星期六

[MVC] View要如何回傳List至controller (Model Binding To List Of Objects)

Q : View要如何回傳List<model>至controller

  1.  public JsonResult UpdateOrder(List<CategoryModel> CateList)
  2.  {
  3.     ...
  4.  }

A : 
model binding 就是利用表單 的name與物件的同名欄位做Reflection,
而對於List則需要在View的model name上加[index] 來達成 

ex.@Html.TestBox("Categorymodel[" + @i + "].ID, "value")
ps.要注意的是, index必須從0開始,不然就會繫結失敗

Q : 但是我不是用for loop, index也不是從0開始怎麼辦?

A : 額外設定Index讓程式知道,就可以用你專屬的流水號,而程式也可以binding到

  1.  @Html.Hidden("Categorymodel.Index""你的流水號xxxxxxxxx")

沒有留言:

張貼留言