0

我有像 Salutation 这样的枚举

public enum SALUTATION
{
    MR = 1,
    MS = 2,
    MRS = 3,        
}

在我的staff课堂上,我的Salutation财产就像,

public SALUTATION Salutation
{
     get;
     set;
}

在这里,在编辑员工资料时,我只是绑定了数据库中的数据。对于称呼,我只是尝试像这样绑定称呼

ddlSalutation.SelectedValue = Enum.GetName(typeof(SALUTATION), staff.Salutation);

但它-1一如既往地绑定 selectedValue 。如何绑定 ddl 所选项目中的确切值。有人能帮我一下吗..

在页面加载事件中,我只是将 ddl 源绑定为

 Hashtable hashSalutation = Utilities.GetEnumList(typeof(SALUTATION));
            ddlSalutation.DataSource = hashSalutation;
            ddlSalutation.DataTextField = "value";
            ddlSalutation.DataValueField = "key";
            ddlSalutation.DataBind();

            ddlSalutation.Items.Insert(0, new ListItem("Select Salutation", "-1"));

public Hashtable GetEnumList(Type enumeration)
    {
        string[] names = Enum.GetNames(enumeration);
        Array values = Enum.GetValues(enumeration);
        Hashtable ht = new Hashtable();
        for (int i = 0; i < names.Length; i++)
        {
            ht.Add(Convert.ToInt32(values.GetValue(i)).ToString(), names[i]);
        }
        return ht;
    }
4

1 回答 1

1

首先将其设置为您的数据源

ddSalutation.DataSource = Enum.GetNames(typeof(Salutations));

然后对于选定的值

ddlSalutation.SelectedValue = staff.Salutation.ToString();
于 2012-07-04T07:28:53.307 回答