我按照这个教程在ASP.NET MVC创建下拉菜单:http://odetocode.com/blogs/scott/archive/2013/03/11/dropdownlistfor-with-asp-net-mvc.aspx在视图模型
的代码示例给出的是:
public class IceCreamFlavor
{
public int Id { get; set; }
public string Name { get; set; }
}
public class ViewModel
{
private readonly List<IceCreamFlavor> _flavors;
[Display(Name = "Favorite Flavor")]
public int SelectedFlavorId { get; set; }
public IEnumerable<SelectListItem> FlavorItems
{
get { return new SelectList(_flavors, "Id", "Name");}
}
}
什么是设置_flavors
的正确方法?它是private readonly
。这有什么理由吗? MVC的一些功能来填充它?
我明显可以通过构造函数来公开或私有,但我想知道为什么Scott Allen会这样设置它。它有一些逻辑吗?
如图所示,不,你不能以任何方式设置它。我会认为有些东西被遗漏了,因为我看到的唯一方法就是通过一个构造函数来设置,而这个构造函数在这里没有。 –
你可以设置readonly与一个构造? – Guerrilla
这将是您唯一可以设置的地方。 https://msdn.microsoft.com/en-us/library/acdd6hb7.aspx –