Я есть месяц классКак отобразить свойство text в выпадающем списке?
public class Month
{
public int ID { get; set; } // ex: 1
public string Name { get; set; } // ex: January
public string ShortName { get; set; } // ex: JAN
Он привязан к моей модели представления
public List<SelectListItem> Months { get; set; }
public int SelectedMonth { get; set; }
public IEnumerable<SelectListItem> MonthItems
{
get { return new SelectList(Months, "Id"); }
}
Вот мое мнение:
@Html.DropDownListFor(m => m.SelectedMonth, Model.Months)
В выпадающем списке отображаются только ID. Как я могу заставить его показать свойство Name месяца, но все же «ссылку» на ID.
Я видел другие примеры использовать что-то вроде этого ...
@Html.DropDownList("Month",
Enumerable.Range(1, 12).Select(i => new SelectListItem
{
Value = i.ToString(),
Text = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(i)
}))
... но дело в том, что я хочу только месяцы показ, что на самом деле есть данные в год, выбранного в другой капле вниз. У меня уже есть этот запрос. Точка в том, что я не могу просто автопопуляцией выпадающего списка со всеми месяцами, потому что несколько месяцев «не существует»