- •6. Разработка на asp.Net. Жизненный цикл страницы, пользовательский интерфейс
- •6.1. Описание .Net Framework
- •6.1.1. Возможности среды clr
- •6.1.2. Библиотека классов платформы .Net Framework
- •6.1.3. Развитие платформы .Net
- •6.1.4. Ключевые термины
- •6.2. Обзор технологии asp.Net
- •6.2.1. Жизненный цикл Веб-страниц asp.Net
- •6.2.1.1. Общие этапы жизненного цикла страницы
- •6.2.1.2. События жизненного цикла
- •6.2.1.3. Дополнительные аспекты жизненного цикла страницы
- •6.2.2. Управление состоянием в asp.Net
- •6.2.3. Состояние просмотра ViewState
- •6.2.3.1. Сохранение объектов в состоянии просмотра
- •6.2.3.2. Оценивание преимуществ использования состояния просмотра
- •6.2.4. Строка запроса
- •6.2.4.1. Использование строки запроса
- •6.2.5. Cookie
- •6.2.6. Использование Session
- •6.2.6.1. Архитектура сеанса
- •6.2.6.2. Использование состояния сеанса
- •6.2.6.3. Поставщики состояния сеанса
- •6.2.6.3.1. Off
- •6.2.6.3.2. InProc
- •6.2.6.3.3. StateServer
- •6.2.6.3.4. SqlServer
- •6.2.7. Ключевые термины
- •6.3. Принципы разработки пользовательского интерфейса Интернет-приложений
- •6.3.1. Работа с текстом
- •6.3.2. Использование элементов CheckBox, CheckBoxList, RadioButton, RadioButtonList и BulletedList
- •6.3.3. Использование Image, ImageButton
- •6.3.4. Использование Literal и HiddenField
- •6.3.5. Использование Panel
- •6.3.7. Использование LinkButton
- •6.3.8. Ключевые термины
- •6.4. Краткие итоги
6.3.5. Использование Panel
Элемент управления Panel (при рендеренге страницы заменяется на div) используется для группирования элементов управления. При этом он выступает в качестве контейнера, способного вмещать в себя различные другие элементы управления, манипулирование которыми становится возможным как единым целым. Например, возможно скрытие или показ элемента Panel со всеми входящими в него элементами путем задания значения свойства Visible равным true или false.
При размещении внутри Panel элементов для ввода текста и кнопок, становится возможным определение кнопки, используемой по умолчанию. Это означает, что при вводе текста в элементы управления, размещенные внутри Panel, пользователь имеет возможность нажать кнопку Enter, что будет равносильно щелчку левой кнопки мыши по кнопке, указанной в свойстве DefaultButton элемента Panel. Это позволяет создавать более эффективные пользовательские формы для ввода данных.
Panel облегчает размещение динамически создаваемых элементов управления на форме. И, наконец, с помощью этого элемента управления становится возможным создание областей в рамках страницы, обладающих собственными свойствами поведения и внешнего вида. Это выражается в следующем:
С помощью Panel можно создать область, содержащую полосы прокрутки. Для этого достаточно установить соответствующее значение свойства ScrollBars, а также установить необходимые значения свойств Height и Width.
С помощью Panel можно создать область группы с заголовком. Для этого необходимо ввести в свойство GroupingText строку заголовка группы. Пример изображения группы, получаемой в этом случае, приведен на рис. 6.11.

Рис. 6.11. Пример изображения группы элементов
Следует отметить, что при установке свойства GroupingText становится невозможным использование полос прокрутки.
С помощью Panel можно создать область страницы, имеющей отдельно заданные свойства, такие как цвет фона, рамка и т.д.
6.3.7. Использование LinkButton
Элемент управления LinkButton представляет собой кнопку, которая выглядит как гиперссылка, но имеет поведение кнопки. Этот элемент управления внедряет в HTML код страницы элементы JavaScript, необходимые для обработки событий кнопки, поэтому необходимо, чтобы клиентский браузер поддерживал JavaScript.
LinkButton может быть двух разновидностей: командная кнопка и кнопка перенаправления. Кнопка перенаправления не содержит сопоставленного с ней обработчика события и просто инициирует событие postback. Командная кнопка ведет себя как обычная кнопка и может иметь несколько обработчиков событий, сопоставленных с ней. Как и обычная кнопка, она может реагировать на щелчок левой кнопки мыши с помощью события LinkButton_Click, кроме того, возможна обработка события LinkButton_Command. В качестве аргументов, обработчику события Command передаются значения свойств CommandName и CommandArgument. С помощью этого события становится возможным определение того, какая из нескольких, расположенных на странице кнопок была нажата.
В следующем примере на странице размещены два элемента LinkButton:
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Открыть"
CommandArgument="c:\1.txt" OnCommand="LinkButton_Command"> Открыть
</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server"
CommandArgument= "http://www.yandex.ru" CommandName="Перейти"
OnCommand="LinkButton_Command"> Перейти</asp:LinkButton>
Процедура LinkButton_Command выводит на экран сообщение, в котором указаны аргументы, передаваемые обеими кнопками в случае их нажатия:
protected void LinkButton_Command(object sender, CommandEventArgs e)
{
Response.Write("Команда: " + e.CommandName + ", параметр: " +
e.CommandArgument);
}
