2015-11-10 68 views
1

我目前正試圖爲用戶創建一個下拉列表來選擇一個月。下拉列表本身是有效的,但每當我嘗試獲取它的值時,它都會失敗。我認爲解釋它最簡單的方法是顯示我的代碼和錯誤信息,因爲我不知道我會怎麼做。操作數類型衝突(字符串)

錯誤消息:

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」)'。但在那之前檢查那個月不是空的。 – Marshal

+0

由於單個字符的長度不能超過1,因此總是會產生'false'。所以'Januari'會超出它的範圍... –

回答

5

monthListstring,通過對其執行foreach,您將獲得char s。

我猜你想拆就東西monthList,一個;可能:

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

現在,monthstring

如果返回的值不是任何內容的列表,您可能完全想要刪除foreach

+0

必須等待幾分鐘,但這固定它,並返回所需的一切。乾杯。難以置信的快! – Xariez

相關問題