我正在使用 .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”。)我完全愿意接受其他一些想法。
谢谢!