IF SelectedItem.Equals ???Затем перенаправить заявление - PullRequest
0 голосов
/ 13 марта 2012

У меня есть вид сетки на моем веб-сайте в здании Visiual Studio 2010. Я новичок в программировании, и у меня есть запрос в отношении перенаправления пользователя на другую страницу на основе результатов вида сетки.

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

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

Как только результаты отобразятся, я хочу, чтобы пользователь затем нажал кнопку «Создать», и они были направлены на правильную страницу 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 (Еженедельно) выбран вариант по умолчанию. Я попытался сделать это, добавив следующий код в событие page_load, но у меня нет только с результатами.

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

    DropDownList1.SelectedItem.Equals("1")

End Sub

Ответы [ 2 ]

1 голос
/ 13 марта 2012

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

DropDownList1.SelectedValue = "1"

Или

DropDownList1.SelectedIndex = 1
0 голосов
/ 13 марта 2012

Свойство 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"
...