Я использую .NET 3.5, MVC.
Я хочу использовать набор псевдонимов строк для представления значений в базе данных. т.е. когда пользователь выбирает параметр из раскрывающегося списка, он фактически устанавливает значение 0, 1, 2 и т. д. в таблице, а не текст, отображаемый в самом раскрывающемся списке.
например. Я делаю:
IdName[] Thing = new[] {
new IdName { Id = 0, Name = "No Selection" },
new IdName { Id = 1, Name = "Thing A9" },
new IdName { Id = 2, Name = "Thing C12" },
new IdName { Id = 3, Name = "Thing F4" }
};
MyDropDownList = new SelectList(Things, "Id", "Name",0);
и в представлении:
<%= Html.DropDownList("MyDropDownList")%>
Теперь это работает просто отлично. То, что я не могу заставить работать, это отображать значение поля в виде «детали» и показывать «Thing C12» в виде текста вместо «2».
Кроме того, это лучший способ сделать это? Я не хочу использовать фактическую строку в базе данных в случае, если я изменяю текст в записи (например, меняю название «Thing F4» на «Thing F5».) Я полностью открыт для некоторых других идей.
Спасибо!