2015-11-10 3 views
1

В настоящее время я пытаюсь создать дропсет для пользователей, чтобы выбрать месяц. Дроплер сам по себе работает, но всякий раз, когда я пытаюсь получить его значение, он терпит неудачу. Я думаю, что самый простой способ объяснить это - показать мой код и сообщение об ошибке, так как я не уверен, как еще я буду заниматься этим.Конфликты операндов (char-string)

Сообщение об ошибке:

CS0019: оператор '==' не может быть применен к операндам типа 'полукокса' и 'строка'

HTML с списка:

<h4 class="monthYear"> 
      <form action="WebForm1.aspx" method="get"> 
       <select name="monthList"> 
        <option class="month">Januari</option> 
        <option class="month">Februari</option> 
        <option class="month">Mars</option> 
        <option class="month">Maj</option> 
        <option class="month">Juli</option> 
        <option class="month">Juni</option> 
        <option class="month">Augusti</option> 
        <option class="month">Oktober</option> 
        <option class="month">September</option> 
        <option class="month">November</option> 
        <option class="month">December</option> 
       </select> 

        <input type="submit" name="setMonth" value="Visa" /> 
       </form> 

      </h4> 

Код на C#, где я пытаюсь получить все, что они выбрали из списка:

<% 
    var Januari = Request["Januari"]; 
    var Februari = Request["Februari"]; 
    var monthList = Request["monthList"]; 

    foreach (var month in monthList) 
    { 
     if (month == "Januari") <-- This == is what it doesn't seem to like. 
     { 
       Response.Write("Working"); 
       var setYear = 2015; 
       var setMonth = 1; 
     } 

    } 

%> 
+2

'monthList' является' string', но 'month' является' char', и вы не можете использовать '==' между ними. Чего именно вы достигли? –

+0

Вы можете написать 'if (month.ToString() ==" Januari ")'. Но проверьте, что этот месяц не имеет значения null. – Marshal

+0

Это всегда даст 'false', поскольку один символ не может иметь длину, отличную от' 1'. Так что «Januari» немного выйдет из своего диапазона ... –

ответ

5

monthList - string, и, сделав на нем foreach, вы получите char.

Я предполагаю, что вы хотите разделить monthList на что-то, а может быть, ;:

foreach (var month in monthList.Split(';')) 
{ } 

Теперь month является string.

Если возвращаемое значение не является чем-либо, вы можете просто отказаться от foreach.

+0

Подождите несколько минут, но это исправило его и вернуло все, что нужно было. Приветствия. Невероятно быстро! – Xariez

Смежные вопросы