我正在尝试在.NET MVC 3项目中创建一些复杂的表单方案(或者我认为)。我将展示一个线框,以便您可以更好地理解。
从上面的图片可以看出,这是一种创建新的汽车经销商的形式。我可以从许多可用的汽车制造商(Add a tab
)中进行选择,每个选项都会在其下方的面板中创建一个新选项卡。在每个面板中都有一个html字段集,我可以添加一些新车。
最后,我想提交所有表格,其中包含经销商的数据(例如名称),汽车的品牌以及每个品牌的可用汽车。我怎么能用MVC 3做到这一点?我不知道究竟应该如何实例化汽车经销商模型及其各自的View。面板上的车应该是什么?一系列输入?如何将一个选项卡的输入与另一个选项卡的输入分开?所有这些,使用Razor!
我的真实场景有点复杂,但我会从这开始,以便我可以尝试自己解决剩下的问题。我正在使用jQuery / jQuery UI,但我打开了其他javascript替代品(如Backbone等 - 我只是不知道它们)。提前谢谢!
更新(1):
到目前为止,这些是我的模型:
public class CarDealership
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> ManufactorsOnDealership { get; set; }
}
public class Manufactor
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> DealershipsOfManufactor { get; set; }
}
// Junction class: I believe it's needed because the list of Cars belongs to this relationship
public class ManufactorOnDealership
{
public int Id { get; set; }
public int CarDealershipId { get; set; }
public int ManufactorId { get; set; }
public virtual CarDealership CarDealership { get; set; }
public virtual Manufactor Manufactor { get; set; }
public virtual ICollection<Car> CarsOnDealership { get; set; }
}
public class Car
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<ManufactorOnDealership> Manufactors { get; set; }
}