MVC中模型中的模型列表

Ari*_*Ari 6 c# asp.net-mvc asp.net-mvc-2

我有两个型号:

class ModelIn{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address { get; set; }
}

class ModelOut{
    public ModelOut(){ People = new List<ModelIn>();}
    public List<ModelIn> People { get; private set;}
    public string Country { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有Controller编辑ModelOut:

public ActionResult People()
{
    ...
    return View(SomeModelOutInstanceWith3People);
}
[HttpPost]
public ActionResult(ModelOut items)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

在视野中我有点像:

<% using (Html.BeginForm()) { %>
    <%: Html.EditorFor(m => Model.Country) %>
    <% for(int i = 0; i < Model.People.Count; ++i){ %>
        <%: Html.EditorFor(m => Model.People[i].FirstName) %>
        <%: Html.EditorFor(m => Model.People[i].LastName) %>
        <%: Html.EditorFor(m => Model.People[i].Address) %>
    <% } %>
    <input type="submit" />
<% } %>
Run Code Online (Sandbox Code Playgroud)

一切正常,但在后期操作中我有空的ModelOut项目.我可以在日志中看到数据正确发送.

我尝试了一切,没有任何作用.

Ari*_*Ari 0

@Dai 是对的。当模型实例名称是 List 的实例时,MVC 允许我使用项目作为模型实例名称,但不允许我将其用于 ModelOut。

items重命名后就model可以正常使用了。