2012-03-13 2 views
0

У меня есть gridview на моем веб-сайте в здании Visiual studio 2010. IM new для программирования и имеет запрос в отношении перенаправления пользователя на другую страницу на основе результатов gridview.IF SelectedItem.Equals ??? Затем переадресовать Заявление

Мой сетчатый сет работает отлично и оттягивает элементы с помощью выделения, выбранного в выпадающем списке. Эти пункты имеют и идентификатор присвоены (1 для Weekly & 2 для ежемесячных).

Мои пользователи выбирают вариант Weekly или Montly из раскрывающегося списка, а сетка заполняется этими данными. (Эта часть работает отлично).

После того, как результаты отображаются, я хочу, чтобы пользователь нажал кнопку «Создать», и чтобы они были направлены на правильную страницу Weekly.aspx или Monthly.aspx на основе выбранного элемента из выпадающего списка.

До сих пор у меня есть следующий код, который, как представляется, перенаправляет пользователя на страницу Monthly.aspx для выбора из выпадающего списка.

Protected Sub btnCreate_Agenda_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCreate_Agenda.Click 

    If DropDownList1.SelectedItem.Equals("1") Then 
     Response.Redirect("Weekly.aspx") 
    Else 
     Response.Redirect("Monthly.aspx") 
    End If 

End Sub 

Может ли кто-нибудь указать мне правильное направление?

В моем событии загрузки страницы я также хотел бы убедиться, что для веб-страницы элемент 1 (Weekly) является выбором по умолчанию. Я попытался сделать это, добавив следующий код в событие page_load, но у меня нет только результатов.

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    DropDownList1.SelectedItem.Equals("1") 

End Sub 

ответ

0

Свойство SelectedItem возвращает ListItem объект, так что никогда не будет равна строке "1". Используйте SelectedValue свойство вместо:

If DropDownList1.SelectedValue = "1" Then 
    Response.Redirect("Weekly.aspx") 
Else 
    Response.Redirect("Monthly.aspx") 
End If 

Что касается установки по умолчанию, то SelectedItem свойство является свойством только для чтения. Используйте SelectedIndex или SelectedValue свойства, чтобы выбрать пункт:

DropDownList1.SelectedValue = "1" 
+0

Это работает. Я был немного уверен, должен ли я использовать SelectItem или SelectValue в инструкции, и, удалив() из ID, это работает так, как должно. Большое спасибо за вашу помощь. – Betty

1

Вы должны присвоить значение в раскрывающемся списке или выбрать индекс элемента, не сравнить текущее значение к чему-то.

DropDownList1.SelectedValue = "1" 

Или

DropDownList1.SelectedIndex = 1 
+0

Параметр 'свойство SelectedItem' только для чтения, вы не можете ничего к нему назначить. – Guffa

+0

@ Guffa - Моя вина за не проверку. Благодарю. – Oded