我使用ASP.NET MVC5来创建应用程序。我的视图模型类很复杂,因为它有一些属性是对象列表。我试图创建一个'创建'使用MVC脚手架查看以下模型,但它只是忽略了我的视图模型的对象列表属性...请参阅下面的我的视图模型...脚手架只为Name,ImagePath等创建了html元素..不适用于BandGenres。
有没有办法使用MVC5脚手架为视图模型中的对象列表创建视图元素?
public class BandRegisterVM
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string ImagePath { get; set; }
public string Description { get; set; }
public BandGenresVM Genres { get; set; } //is a list see below
public BandLinksVM Links { get; set; }
}
public class BandGenresVM
{
public IEnumerable<BandGenreVM> BandGenres { get; set; }
}
public class BandLinksVM
{
public IEnumerable<BandLinkVM> BandLinks { get; set; }
}
public class BandGenreVM
{
[Key]
public int Id { get; set; }
public int BandId { get; set; }
public string Name { get; set; }
public int GenreId { get; set; }
public string Genre { get; set; }
}
public class BandLinkVM
{
[Key]
public int Id { get; set; }
public int BandId { get; set; }
public string Name { get; set; }
[Url]
public string URL { get; set; }
}
&#13;
答案 0 :(得分:0)
是否有理由为BandGenresVM和BandLinksVM创建一个类,而不是仅创建IEnumerable&lt;&gt;主VM上的属性?我猜这就是为什么脚手架不起作用的原因 - MVC认为这些属性不是子列表,而是复杂的对象。
public class BandRegisterVM
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string ImagePath { get; set; }
public string Description { get; set; }
public IEnumerable<BandGenreVM> BandGenres { get; set; }
public IEnumerable<BandLinkVM> BandLinks { get; set; }
}