从Enum绑定DropDownList SelectedValue

时间:2012-07-04 07:22:10

标签: c#

我赞成称赞

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

在我的staff课程中我的Salutation属性就像,

public SALUTATION Salutation
{
     get;
     set;
}

这里,编辑人员简介时只是从数据库绑定数据。为了表示敬意,我只是尝试将称呼与

结合起来
ddlSalutation.SelectedValue = Enum.GetName(typeof(SALUTATION), staff.Salutation);

但它始终将selectedValue绑定为-1。如何绑定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;
    }

1 个答案:

答案 0 :(得分:1)

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

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

然后选择值

ddlSalutation.SelectedValue = staff.Salutation.ToString();