0

我想查看,编辑和创建查找关系的下拉列表。MVC5脚手架下拉框

有时候这可行,有时候不行。我希望在这里能够明确解决这个问题。

这里是我的POCO对查找

public class Color 
{ 
    public int Id { get; set; } 
    public string Value {get;set;} 
} 

//Red,White,Blue 

public class Size 
{ 
    public int Id { get; set; } 
    public string Value { get; set; } 
} 

//S,M,L 

这里是我想拥有的颜色和尺码下拉列表脚手架开箱它的主要对象。

public class Product 
{ 
    public int Id; 
    public string Name; 
    public virtual Color Color; 
    public virtual Size Size; 
} 

这不适合我。在查看,编辑或创建产品时,大小或颜色都不会显示出来。我只看到名称字段。

回答

1

大小和颜色都懒的默认(虚拟)加载,所以你需要急切地加载它们:

var products = context.Products.Include(p => p.Color).Include(p => p.Size).ToList(); 

https://msdn.microsoft.com/en-us/data/jj574232.aspx

如果您的问题是与下拉菜单,你会想组成一个在您的控制器中具有列表项的viewmodel,将它发送到您的视图并使用DropDownListFor(m => m.ColorId,m.Colors)。您可能需要将ColorId和SizeId添加到您的产品模型中。这是一个很好的解释:http://odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx