将选定值存储到枚举类型

本文关键字:枚举 类型 存储 | 更新日期: 2023-09-27 18:08:09

我有一个具有enumtype的页面。以下是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());

get不能隐式转换类型"数据契约"。

数据合约。Enumtypes .regardingobjecttype

在datacontracts.enumtypes.cs中我有

    public class EnumTypes
{
    public enum RegardingObject
    {
        UnknownOrNone = 0,
       LiveTrack = 10,
        Activity = 11
    }
}

将选定值存储到枚举类型

这是因为EnumTypes不是enum, RegardingObject是:

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

就这样了

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

EnumTypes。