Этот пример содержит два вложенных цикла. Во внешнем цикле создается строка. Во внутреннем цикле создаются ячейки и затем добавляются в коллекцию Cells текущей строки. По окончании внутреннего цикла код добавляет всю строку в коллекцию Rows таблицы. Последнее действие выполняется по завершении внешнего цикла. На этом этапе код добавляет завершенную таблицу в коллекцию Controls страницы.
На рис. 4.4 показана результирующая страница.
Рис. 4.4. Динамически генерированная страница
В этом примере использовалась таблица, поскольку она представляет собой хорошую возможность демонстрации добавления дочерних элементов управления (ячеек и строк) в коллекцию Controls родителя, но, конечно же, этот механизм работает с любыми другими серверными элементами управления.
Серверные элементы управления HTML реализуют модель "нечастых" событий, включающую два возможных события — ServerClick и ServerChange. Событие ServerClick — это просто щелчок, обрабатываемый на стороне сервера. Оно предоставляется большинством кнопок и позволяет коду предпринять немедленные действия. Это действие может переопределить ожидаемое поведение. Например, если вы прервете событие щелчка на элементе управления типа гиперссылки (элемент <а>), пользователь не будет перенаправлен на новую страницу, пока вы не предоставите дополнительный код для передачи запроса.
Событие ServerChange генерируется при внесении изменений в элементы управления текстом или выбором. Это событие не происходит до обратной отсылки страницы (например, после щелчка пользователя на кнопке Submit). В этот момент для всех измененных элементов управления генерируется событие ServerChange, за которым следут соответствующее событие ServerClick.
предыдущая следующая страница оглавление
157