首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 中繫結列舉類型

     編輯:關於ASP.NET

使用反射動態將列舉值繫結至下拉清單

列舉定義

public enum Eume
{
    星期一, 星期二, 星期三, 星期四, 星期五
}

動態繫結方法

private void BinderDays()
{
    Type type = typeof(Eume);
    FieldInfo[] fields = type.GetFields();
    for (int i = 1; i < fields.Length; i++) // i=0 為 value__ 欄位,略過
    {
        FieldInfo field = fields[i];
        days.Items.Add(new ListItem(field.Name));
    }
}

取得選中值的陷阱

// 錯誤:SelectedValue 為字串,無法直接轉型
Eume em = (Eume)days.SelectedValue;

// 正確:使用 SelectedIndex 對應列舉順序(前提:列舉值連續且從 0 開始)
Eume em = (Eume)days.SelectedIndex;

遺憾

列舉值若非連續整數、或需顯示自訂文字(如 [Description("週一")]),仍需手動建立 ListItem 集合。反射繫結適合簡單連續列舉的快速原型開發。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved