ASP.NET MVC - 无法将表单值绑定到List <model> </model>

时间:2013-03-23 18:54:37

标签: asp.net-mvc model-binding

我有这个模型

    public class ItemClassification
    {
         public int ItemID {get; set;}
         public string ItemName {get; set;}
    }

我有这个表格

   <form method="POST" action="/Home/UpdateItemClassifications">
        <table>
             <tr>
                  <th>Item ID</th>
                  <th>Item Name</th>
             </tr>
             <tr>
                  <td>
                       <input name="ItemClassification[0].ItemID" value="1"/>
                  </td>
                  <td>
                       <input name="ItemClassification[0].ItemName" value="Item One"/>
                  </td>
             </tr>
             <tr>
                  <td>
                       <input name="ItemClassification[1].ItemID" value="2"/>
                  </td>
                  <td>
                       <input name="ItemClassification[1].ItemName" value="Item Two"/>
                  </td>
             </tr>
             <tr>
                  <td>
                       <input name="ItemClassification[2].ItemID" value="3"/>
                  </td>
                  <td>
                       <input name="ItemClassification[2].ItemName" value="Item Three"/>
                  </td>
             </tr>
        </table>
   </form>

我正在尝试将这些值绑定到此控制器操作以循环遍历它们并在数据库中更新它们。

    [HttpPost]
    public ActionResult UpdateItemClassifications(List<ItemClassification> UpdatedClassifications)
    {
         //save logic here..
    }

无论出于何种原因,我都没有将我发布的表单值绑定到ItemClassification模型。任何帮助或方向将不胜感激。我尝试仅使用一组值发布此表单,并删除了“List&lt;&gt;”从控制器,它正确映射值。

1 个答案:

答案 0 :(得分:0)

原来我不需要[0] .ItemID之前的“ItemClassification”,谢谢你的回答Sundeep。我可能确实需要查看您引用的被黑客入侵的文章,因为我可能会为此添加一个JavaScript删除功能,这无疑会改变我的索引。

相关问题