Главная » Языки программирования и собственно написание компьютерных программ

Организация раскрывающегося меню гиперссылок с помощью DropDownList в Visual Basic

Переходы на другие Web-страницы, так называемую навигацию, в статических HTML-страницах обычно организуют с помощью ряда гиперссылок. Например, сайт состоит из десяти Web-страниц. На каждой из этих страниц слева страницы имеем колонку из десяти строчек текстовых гиперссылок для перехода на эти страницы. В данном примере продемонстрируем, как можно организовать переход на разные страницы сайта с помощью раскрывающегося списка DropDownList.

Для реализации этой задачи запустим систему VB2010, далее — новый проект из шаблона Empty ASP.NET Web Application, имя — Menu. К текущему проекту добавим Web-форму. Для этого в пункте меню Project выберем команду Add New Item и в появившемся окне дважды щелкнем шаблон Web Form.

Затем на проектируемую Web-форму перетащим из панели Toolbox элемент управления DropDownList и метку Label. Теперь перейдем к вкладке файла программной поддержки WebForm1.aspx.vb и здесь организуем гиперссылки от каждого пункта меню на некоторые Web-страницы, созданные в данной главе.

Организация навигации по Web-страницам

‘ Web-страница демонстрирует, как можно организовать переход на

‘ разные страницы сайта (гиперссылки) с помощью раскрывающегося
‘ списка DropDownList
PublicClass WebForm1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)Handles Me.Load
Page.Title ="Переход на другую страницу:"
If Page.IsPostBack = True Then Exit Sub
‘ Мы могли бы заполнять пункты раскрывающегося спис-
‘ ка не при загрузке формы, а при ее инициализации
‘ (событие Page_PreInit), тогда не думать про постбэк.
‘ Можно писать так:
‘ Dim it1 As New System.Web.UI.WebControls.ListItem
‘ it1.Text = "Сложить два числа"
‘ it1.Value = "Summa.aspx"
‘ DropDownList1.Items.Add(it1)
‘А можно короче:
‘ DropDownList1.Items.Add(New ListItem("Имя", "значение"))
DropDownList1.Items.Add(NewListItem("Остаться на этой странице","WebForm1.aspx"))
DropDownList1.Items.Add(NewListItem("Проверка достоверности введенных данных","Validations.aspx"))
DropDownList1.Items.Add(NewListItem("Управляемая таблица","tab.aspx"))
‘ Делать ли повторную отправку (постбэк), когда по-
‘ льзователь сделает выбор в раскрывающемся списке:
DropDownList1.AutoPostBack = True
‘ При AutoPostBack = True будет работать
‘ событие DropDownList1_SelectedIndexChanged.
Label1.Text = "Перейти на другую Web-страницу:"
End Sub
Private SubСПИСОК(ByVal sender As Object,ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Response.Redirect(DropDownList1.SelectedValue)
End Sub
EndClass

Здесь, так же как и в предыдущем примере, мы заполняли пункты раскрывающегося списка при первой загрузке страницы IsPostBack = False. Это можно было бы делать и при инициализации Web-страницы (событие Page_PreInit). Причем заполняли список по формату («Имя», «Значение»). Здесь «Имя» будет видно в пунктах меню, а «Значение» можно использовать функционально.

Кроме того, для раскрывающегося списка мы указали свойство AutoPostBack = True, что приведет к повторной отправке, когда пользователь сделает свой выбор в раскрывающемся списке, причем в этом случае будет доступно событие SelectedIndexChanged. Именно этим событием мы воспользовались для перенаправления (Redirect) браузера на выбранную пользователем страницу.

Как видно, все выбираемые пользователем Web-страницы являются активными ASPX-страницами. Чтобы добавить их в текущий проект, следует выбрать в пункте меню Project команду Add New Item и дважды щелкнуть шаблон Web Form. В окне Solution Explorer щелкнем правой кнопкой мыши на названии файла и переименуем новую Web-форму из WebForm2.aspx в Validations.aspx. Аналогично следует добавить вторую вызываемую Web-форму и назвать ее tab.aspx. Перед стартом программы (<F5>) в окне Solution Explorer правой кнопкой мыши щелкнем по изображению файла WebForm1.aspx и в контекстном меню выберем команду Set As Start Page, чтобы программа начала работу с этой страницы.

Упомянутая функция Redirect является методом объекта Response. Очень часто пользуются методом Write объекта Response для вывода в Web-форму каких-либо данных, в том числе для тестирования, отладки программы. Вообще говоря, в технологии ASP.NET имеются два очень важных объекта: Response и Request. Объект Response содержит данные для передачи от сервера клиенту, а объект Request — информацию, полученную от пользователя. В дальнейшем мы будем обращаться к этим двум объектам.

Добавить комментарий

Ваш комментарий появится после модерации.