Установить значение перечисления через выпадающий список выбора (ddl) - PullRequest
0 голосов
/ 14 октября 2011

Существует три файла: index.aspx

serverInfo.cs

setup.aspx.vb

Мое перечисление находится в:

---------------
//Class:serverInfo.cs
---------------
public enum ServerVersion
    {
        Exchange2007SP1 = 0,
        Exchange2011 = 1,
    } 

 // <summary>
    /// Creates a new Service Provider for a specific Server version
    /// </summary>
    /// <param name="serverVersion">Version of the Exchange Server</param>
    public ExchangeServiceProvider(ExchangeServerVersion serverVersion)
    {
        this._service = new ExchangeService((ExchangeVersion)serverVersion);
    }

---------------
//Class:setup.aspx.vb
---------------
Private Sub manualConnect()
    Dim accNameM As String = txtAccName2.Text
    Dim passM As String = txtPass2.Text
    Dim exVer As String = ddlExVersion.SelectedValue
    Dim servURL As String = txtURL.Text
    '----------------------------------'

    conToExchange = New ymp.Utility.Services.Exchange.ExchangeServiceProvider()
    conToExchange.Credentials = New System.Net.NetworkCredential(accNameM, passM)
    '----------------------------------'

    'FOR MANUAL CONNECTION
    conToExchange.Connect(servURL)
    conToExchange.Connect = [Enum].Parse(exVer)
    '---------------------
    Dim connected As Integer = conToExchange.Connect(servURL)
    '--------------------------------------------------

   'CHECK CONNECTION
    conToExchange.Connect(exVer)


    'TRY TO CONNECT TO EXCHANGE USING AUTODISCOVER,ELSE COULD NOT CONNECT
    If connected Then
        'GO TO SUCCESS PAGE
        phManualSetup.Visible = False
        phSuccess.Visible = True
    Else
        phError.Visible = True
    End If
End Sub


-------------
//Markup:index.aspx
<asp:DropDownList ID="ddlExVersion" runat="server">

<asp:ListItem Selected="True" Value="Ex2010SP1">Exchange 2010 SP1</asp:ListItem>

    <asp:ListItem Value="Ex2011">Exchange 2011</asp:ListItem>



</asp:DropDownList><span></span>

Что я хочу сделать:

Посмотрите, какая версия выбрана в раскрывающемся списке, сравните ее со значением в хранилище enum в var и добавьте в мою проверку соединения.

Любая помощь или предложение?

Заранее спасибо.

Спасибо

1 Ответ

0 голосов
/ 14 октября 2011

Если я правильно понимаю вопрос, вам нужно посмотреть, является ли выбранное значение допустимым / определенным значением перечисления, вы можете сделать что-то вроде этого.Поместите этот метод в serverInfo.cs.

/// <summary>
/// Returns the Enum Value based on String provided
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public int? GetEnumValue(string value)
{
   ServerVersion newEnumVar;
   bool parsed = Enum.TryParse<ServerVersion>(value, out newEnumVar);

   if (parsed)
   {
       return Convert.ToInt32(newEnumVar);
   }

   return null;
 }

и в setup.aspx.vb

Dim enumValue as Nullable(Of Integer)
enumValue = conToExchange.GetEnumValue(ddlExVersion.SelectedValue)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...