1

我有一个具有枚举类型的页面。以下是页面加载内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
    }

}
4

2 回答 2

0

那是因为EnumTypes不是枚举,RegardingObject是:

Event.RegardingObjectType = (EnumTypes.RegardingObject)Enum.Parse(typeof(EnumTypes.RegardingObject),
    dropRegarding.SelectedItem.ToString());
于 2013-04-08T17:41:46.787 回答
0

这样做

    Event.RegardingObjectType = (EnumTypes.RegardingObjectType)Enum.Parse(typeof(EnumTypes.RegardingObjectType),
                                         dropRegarding.SelectedItem.ToString());

它的 EnumTypes.regardingobjecttype 而不是 enumtypes

于 2013-04-08T18:01:34.263 回答