如何将列表绑定到控制器

时间:2010-10-14 12:45:28

标签: asp.net-mvc binding

如何将列表绑定到控制器?

我的控制器中的代码,HTTPGET和HTTPPOST:

 public ActionResult Client(string id)
    {               
        List<Customer> Contacts = WebService.GetContactsOfClient(id);   
        return View(Contacts);
    }

    [HttpPost]
    public ActionResult Client(List<Customer> custs)
    {          
        // custs = null!!! Why??
        return View();

    }

我认为的代码:

 <% using (Html.BeginForm("Client", "Formulaire", FormMethod.Post, new { id = "form" })) { %>
        <% foreach (var item in Model) { %>
            <%:item.MiseAjour %><br />
        <% } %>

        <input type="submit" />
<% } %>

谢谢大家...

4 个答案:

答案 0 :(得分:0)

这概述了你想要实现的目标。

Model Bind to a List<> when Posting JavaScript Data Object

如果您有具体问题,请发布

答案 1 :(得分:0)

如果您希望模型绑定器将模型重新放在帖子上,那么您的视图不会呈现任何所需的html输入元素。请参阅this answer here,其中显示了对集合的绑定以及发布到后面的内容。另请查看此帖子binding to a dynamic list

答案 2 :(得分:0)

如果您想在POST操作中获取一些值,则需要使用输入字段对其进行POST:

<% using (Html.BeginForm() { %>
    <%= Html.EditorForModel() %>
    <input type="submit" value="OK" />
<% } %>

答案 3 :(得分:0)

我的解决方案:

<legend>Contacts</legend>
      <% for (int i = 0; i < Model.Contacts.Count; i++) { %>

            <%: Html.EditorFor(model => model.Contacts[i],"Contact") %>

        <% } %>

有了这个,我将我的列表绑定到控制器!

谢谢大家!!