我的aspx中有以下内容:
<aspx:DropDownList
ID="ddl1"
runat="server"/>
在代码隐藏(C#)中,我想从DropDownList中检索值。
我填充了我的下拉列表:
ddl1.DataSource = LocationOfData;
ddl1.DataBind();
LocationOfData返回CustomType类型。编辑:CustomType是一个枚举。
我希望能够完成以下任务:
CustomType? myvar = ddl1.Text
换句话说,使用我的CustomType创建一个可以为null的变量,并将其设置为等于下拉列表中的变量。但是我只能从ddl1中检索Text(String)的类型。
答案 0 :(得分:1)
如果CustomType
是枚举,则首先必须将ddl1.Text
解析为枚举,然后将其转换为Nullable类型:
CustomType? myvar = (CustomType?) Enum.Parse(typeof(CustomType), ddl1.Text, true)
答案 1 :(得分:0)
如果CustomType
是enum
,而不是绑定枚举的名称,我会在绑定到枚举的byte
值时设置下拉列表的值。然后,当您尝试转换为CustomType
时,您可以执行以下操作:
CustomType myvar = (CustomType)byte.Parse(ddl1.Text);
首先检查以创建可空类型。我不知道你的标准是什么,但是:
CustomType? myvar;
if(/*Criteria*/)
{
myvar = (CustomType)byte.Parse(ddl1.Text);
}
else
{
myvar = null;
}