2012-12-07 114 views
1

我試圖使用從我的Web窗體上的下拉列表中選擇的值創建到期日期,但是我無法連接Month變量值和Year變量值。我收到錯誤:錯誤操作符'&'未爲'String'和System.Web.UI.WebControls.ListItem'類型定義。我也嘗試過使用「+」,但得到相同的錯誤。連接變量

這裏是我的代碼:

Dim Month = monthDropDownList.SelectedValue 
Dim Year = yearDropDownList.SelectedItem 
Dim MonthYear = Month & Year 
Dim ExpirationDate As Date = MonthYear 

任何幫助將不勝感激。

+0

yearDropDownList.SelectedItem.ToString() – Steve

+0

是固定的錯誤。誰知道這很簡單。非常感謝您的幫助。 – Stizz1e

回答

5

你不想要SelectedItem。你想要SelectedValue。你也應該明確地聲明你的變量。您也不能以這種方式創建日期。你需要使用整數。

Dim Month As Integer= Convert.ToInt32(monthDropDownList.SelectedValue) 
Dim Year as Integer = Convert.ToInt32(yearDropDownList.SelectedValue) 
Dim ExpirationDate As Date = New Date(Year, Month, 1) 

隨着輕微的 「乾淨」 的方式做到這一點,我會用:

Dim Month as Integer 
Dim Year As Integer 
Dim ExpirationDate As Date 

Integer.TryParse(monthDropDownList.SelectedValue, Month) 
Integer.TryParse(yearDropDownList.SelectedValue, Year) 
If (Month > 0 AndAlso Year > 0) Then 
    ExpirationDate = New Date(Year, Month, 1) 
End If 
+0

下個月的「1」是什麼? – Stizz1e

+0

@ Stizz1e:走出內存(所以我可能是錯的),但我相信Date的構造函數需要Day的值。由於OP不使用白天,1是一個很好的保證默認值。 –

+0

Joel謝謝,這很有道理,你的代碼也更清晰了,儘管編譯器不喜歡它,但我不得不刪除第二個'&'。 – Stizz1e