假设我有以下简单的枚举:

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

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

推荐答案

由于数据是一个枚举,我可能不会对其进行修改,而且在编译后也不会更改(除非我有stoopid个时刻).

最好只迭代枚举:

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);
}

Asp.net相关问答推荐

Windows 命令行中的/p:是什么意思

单个方法(即扩展方法)之间的调用不明确

如何将 JQuery 与母版页一起使用?

登录成功后 User.Identity.IsAuthenticated 为 false

在 ASP.NET 中更改错误消息的语言

ASP.NET 控件无法在 Visual Studio 2008 的代码隐藏中引用

在程序集中找不到上下文类型

FluentValidation 使用数据库的唯一名称验证

在 Blazor 中 Select 框绑定

等价于 ASP.NET Core 中的 Html.RenderAction

如何使用 WebRequest 发布数据并从网页获取响应

svg 无法在 localhost 上的 IIS 网络服务器上运行

如何忽略身份框架的魔力,只使用 OWIN 身份验证中间件来获取我寻求的声明?

.NET AJAX 调用 ASMX 或 ASPX 或 ASHX?

会员生成密码 仅限字母数字密码?

ASP.NET 身份,需要强密码

ASP.Net 无法创建/卷影复制

在 ASP.NET MVC 中获取服务器机器名称?

通过 CultureInfo 格式化字符串

POST 字符串到 ASP.NET Web Api 应用程序 - 返回 null