c# - 在 ASP.NET 中如何将 Enum 绑定(bind)到 DropDownList 控件?

标签 c# .net asp.net

假设我有以下简单枚举:

enum Response
{
    Yes = 1,
    No = 2,
    Maybe = 3
}

如何将此枚举绑定(bind)到 DropDownList 控件,以便在列表中显示说明并在选择选项后检索关联的数值 (1,2,3)?

最佳答案

我可能不会绑定(bind)数据,因为它是一个枚举,并且在编译时间后它不会改变(除非我有那些愚蠢时刻之一).

最好只是遍历枚举:

Dim itemValues As Array = System.Enum.GetValues(GetType(Response))
Dim itemNames As Array = System.Enum.GetNames(GetType(Response))

For i As Integer = 0 To itemNames.Length - 1
    Dim item As New ListItem(itemNames(i), itemValues(i))
    dropdownlist.Items.Add(item)
Next

或者在C#中相同

Array itemValues = System.Enum.GetValues(typeof(Response));
Array itemNames = System.Enum.GetNames(typeof(Response));

for (int i = 0; i <= itemNames.Length - 1 ; i++) {
    ListItem item = new ListItem(itemNames[i], itemValues[i]);
    dropdownlist.Items.Add(item);
}

关于c# - 在 ASP.NET 中如何将 Enum 绑定(bind)到 DropDownList 控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61953/

相关文章:

c# - 如何为所有页面设置 Async ="true"?

asp.net - 无需 youtube api 即可上传 youtube 视频

c# - 如何访问和/或修改代码隐藏 (ASP.net c#) 中的 (sql)DataSource?

c# - 如何使统一不两次选择相同的数字?

c# - 如何处理 WPF 3D 中的漫反射 Material 透明度?

c# - 在 DataGridView 中处理 TextBox 中的导航键

.net - kendo ui 网格过滤器不区分大小写

c# - 如何创建一个 linq lambda 连接查询来提取结果,即使结果为空?

c# - 无法使用 Zeromq PGM 协议(protocol)接收消息

.net - 将 PartCover 2.3 与 .NET 4.0 运行时一起使用?