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