私は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);
ただし、いつものように 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;
}