2016-09-14 9 views
0

Я хочу использовать значение выбранного элемента из раскрывающегося списка для оценки состояния. Пожалуйста, обратите внимание, что стоимость DropTraining от базы данных и состоит из буквенно-цифровых символов (например: TRN-2015-2354)Использовать выбранное значение раскрывающегося списка (значение из базы данных)

Вот мой исходный код, который я попробовал:

string valueTrain = DropTraining.SelectedValue; //put the value of droplist to valueTrain 

    if (valueTrain == null) 
    { 
     ScriptManager.RegisterStartupScript(this, this.GetType(), 
    "alert", 
    "alert('The Training value is empty. Select value.');", 
    true); 
    } 
    else 
    { //code to execute if the valueTrain is not empty/null 

Он работает, но даже Я не хотел ничего выбирать из DropTraining, он все еще выполняет инструкцию else. Можете ли вы предложить способ/способ использовать указанное значение или что-то еще, что может решить это, приветствия

+1

Если значение не является Int (напр., 'TRN-2015-2354'), как вы хотите его стать int? –

+0

Итак, если строка состоит не только из чисел, но и из других нечисловых символов, как метод 'int.Parse' должен знать, как его обрабатывать? – kiziu

+1

Вы можете разделить свою строку, используя 'var splitted = valueTrain.Split ('-')' и 'Int32.Parse (splititted [1])' или 'Int32.Parse (splititted [2])' – Nico

ответ

1

Вы можете использовать его, выбранное значение ДОЛЖНО быть целым.

(ex: TRN-2015-2354) это не целое число.

string selected = drp.SelectedItem.Text; 

Или

string selected = drp.SelectedItem.Value; 

И

int x = int.Parse(selected.ToString()); 
Смежные вопросы