C# MVC3如何在controller中的类中发布列表?

C# MVC3如何在controller中的类中发布列表?,c#,jquery,asp.net-mvc-3,C#,Jquery,Asp.net Mvc 3,我有一门课: public class CarList { public int quantity{get;set;} public List<Car> Cars {get;set;} } public class Car { public string Name {get;set;} } 视图: 模型=汽车,添加了一行 使用NameHtml.TextBoxFor(x=>Model.Name) 主要观点是: Model=CarList,添加了forloop

我有一门课:

public class CarList
{
    public int quantity{get;set;}
    public List<Car> Cars {get;set;}
}

public class Car {
    public string Name {get;set;}
}
视图: 模型=汽车,添加了一行

使用
NameHtml.TextBoxFor(x=>Model.Name)

主要观点是: Model=CarList,添加了forloop

@{foreach (Car item in Model.Cars)
       {
           @Html.EditorFor(x=>item);
       }

我认为这就是问题所在:

@foreach (Car item in Model.Cars)
       {
           @Html.EditorFor(x=>item);
       }
换成

@foreach (Car item in Model.Cars)
       {
           @Html.EditorFor(x=>item.Name);
       }

这可能是因为模型绑定器不够聪明,无法绑定多个级别,尽管我不记得有过这个问题。添加到项目中也可能有助于您了解请求的实际处理方式。

我认为这就是问题所在:

@foreach (Car item in Model.Cars)
       {
           @Html.EditorFor(x=>item);
       }
换成

@foreach (Car item in Model.Cars)
       {
           @Html.EditorFor(x=>item.Name);
       }

这可能是因为模型绑定器不够聪明,无法绑定多个级别,尽管我不记得有过这个问题。添加到项目中也可能有助于您了解请求的实际处理方式。

使用编辑器或模板,您会做得很好

创建一个名为“EditorTemplates”的文件夹,并创建一个名为
Car.cshtml

现在将以下代码添加到此新视图

@model Car
<p>
   @Html.TextBoxFor(x => x.Name)
</p>
现在您将看到结果

使用编辑器或模板,你会很好

创建一个名为“EditorTemplates”的文件夹,并创建一个名为
Car.cshtml

现在将以下代码添加到此新视图

@model Car
<p>
   @Html.TextBoxFor(x => x.Name)
</p>
现在您将看到结果

实际上,您不需要循环浏览汽车系列。你就这样拥有它

@Html.EditorFor(x => x.Cars)

事实上,你不需要循环浏览汽车系列。你就这样拥有它

@Html.EditorFor(x => x.Cars)

如何在控制器中进行模型绑定?换句话说,方法签名是什么样子的?这也有助于了解您是如何将输入绑定到视图本身的。对不起,我看得太多了。你已经发布了。我真正需要看到的是你的视图。它实际上有助于从你的视图中显示实际的标记和代码,而不是零碎的代码。因此,从上面提到的代码中,你看不到任何问题吗?因为rest只是一些s和html。你是如何在控制器中进行模型绑定的?换句话说,方法签名是什么样子的?这也有助于了解您是如何将输入绑定到视图本身的。对不起,我看得太多了。你已经发布了。我真正需要看到的是你的视图。它实际上有助于从你的视图中显示实际的标记和代码,而不是零碎的代码。因此,从上面提到的代码中,你看不到任何问题吗?因为rest只是一些s和html等