我有一个有enumtype的页面。以下是pageload
中aspx.cs中的代码 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
RegardingObject();
ListItem selectedType = dropRegarding.Items.FindByValue(Event.RegardingObjectType.ToString());
if(selectedType!=null)
{
selectedType.Selected = true;
}
以下填充下拉列表
private void RegardingObject()
{
dropRegarding.Items.Add(new ListItem("UnknownOrNone","0"));
dropRegarding.Items.Add(new ListItem("LiveTrack", "10"));
dropRegarding.Items.Add(new ListItem("Activity", "11"));
}
同时保存它我正在使用
Event.RegardingObjectType = (EnumTypes)Enum.Parse(typeof(EnumTypes),
dropRegarding.SelectedItem.ToString());
获取无法将类型'datacontracts.enumtypes'隐式转换为'datacontracts.enumtypes.regardingobjecttype'
在datacontracts.enumtypes.cs中我有
public class EnumTypes
{
public enum RegardingObject
{
UnknownOrNone = 0,
LiveTrack = 10,
Activity = 11
}
}
答案 0 :(得分:0)
那是因为EnumTypes
不是枚举,RegardingObject
是:
Event.RegardingObjectType = (EnumTypes.RegardingObject)Enum.Parse(typeof(EnumTypes.RegardingObject),
dropRegarding.SelectedItem.ToString());
答案 1 :(得分:0)
这样做
Event.RegardingObjectType = (EnumTypes.RegardingObjectType)Enum.Parse(typeof(EnumTypes.RegardingObjectType),
dropRegarding.SelectedItem.ToString());
它的EnumTypes.regardingobjecttype而不是enumtypes