C# 从枚举中绑定DropDownList SelectedValue
我有一个像这样的称呼的枚举C# 从枚举中绑定DropDownList SelectedValue,c#,C#,我有一个像这样的称呼的枚举 public enum SALUTATION { MR = 1, MS = 2, MRS = 3, } ddlSalutation.SelectedValue = Enum.GetName(typeof(SALUTATION), staff.Salutation); 在我的员工课程中,我的称呼属性如下: public SALUTATION Salutation { get; set; } 在这里,当编辑
public enum SALUTATION
{
MR = 1,
MS = 2,
MRS = 3,
}
ddlSalutation.SelectedValue = Enum.GetName(typeof(SALUTATION), staff.Salutation);
在我的员工
课程中,我的称呼
属性如下:
public SALUTATION Salutation
{
get;
set;
}
在这里,当编辑员工档案时,我只是绑定数据库中的数据。对于问候语,我只是试着像这样捆绑问候语
public enum SALUTATION
{
MR = 1,
MS = 2,
MRS = 3,
}
ddlSalutation.SelectedValue = Enum.GetName(typeof(SALUTATION), staff.Salutation);
但它总是将所选值绑定为-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;
}
Hashtable hashsaltation=Utilities.GetEnumList(typeof(saltation));
ddlauplation.DataSource=hashsauplation;
ddlautation.DataTextField=“值”;
ddlautation.DataValueField=“key”;
ddlautation.DataBind();
ddlautation.Items.Insert(0,新列表项(“选择称呼”,“1”));
公共哈希表GetEnumList(类型枚举)
{
字符串[]名称=Enum.GetNames(枚举);
数组值=Enum.GetValues(枚举);
Hashtable ht=新的Hashtable();
for(int i=0;i
首先将其设置为您的数据源
ddSalutation.DataSource = Enum.GetNames(typeof(Salutations));
然后为选定的值
ddlSalutation.SelectedValue = staff.Salutation.ToString();
您是否尝试过
ddlayaltation.SelectedValue=staff.saltation代码>下拉列表的(文本、值)对是什么?似乎您试图指定的值不正确,因为GetName将返回MR、MS或MRS而不是该值,或者尝试ddlautation.SelectedItem=staff.saltation
如果不是ddlautation.Text=staff.saltation
@Talha:我尝试了它的显示错误,例如“无法隐式地将称呼转换为字符串”@瑞安人请检查我的最新问题