我按照這個教程在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 –