2012-12-07 3 views
1

Я пытаюсь создать дату истечения срока действия, используя значения, выбранные из выпадающих списков в моей веб-форме, однако я не могу объединить значение переменной месяца и значение переменной Year. Я получаю ошибку: Error Operator '&' не определен для типов '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

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