Как получить DataSourceID?

#asp.net

#asp.net

Вопрос:

 private SqlDataSource GetDataSource()
       {

           object o = Session["selectedDataSource"];
           DataSourceType dsType = DataSourceType.Gtable;            

              if (o != null)
                   dsType = (DataSourceType)o;

              switch (dsType)
              {
                  case DataSourceType.tableT:
                      return DataSourceTID;
                  case DataSourceType.tableR:
                      return DataSourceRID;
                  case DataSourceType.tableC:
                      return DataSourceCID;
                  default:
                      return DataSourceCID;
              }        
       }
  

Для получения datasourceid я написал этот код.Но это выдает ошибку «Указанное приведение недопустимо».Эта ошибка возникает в dsType=(DataSourceType) строке o.
Пожалуйста, дайте мне какие-либо предложения.

Ответ №1:

Используйте метод синтаксического анализа enum

http://msdn.microsoft.com/en-us/library/essfb559.aspx

 DataSourceType dsType = (DataSourceType) Enum.Parse(typeof(DataSourceType), o);
  

Комментарии:

1. В этом мы сохраняем значение из выпадающего списка