- •Часть 2
- •2012 Часть 2-1. Создание и настройка приложения asp.Net
- •Упражнение 1 - Создание проекта веб-сайта и страницы
- •Упражнение 2: Добавление и программирование элементов управления
- •Упражнение 4: Работа с дополнительными элементами управления
- •Часть 2-2. Добавление кода к Web-форме Microsoft asp.Net.
- •Описание шагов выполнения работы
- •Ход выполнения работы
- •Результат работы программы
- •Часть 2-3. Создание элементов управления asp.Net и их использование
- •Ход выполнения работы
- •Часть 2-4. Создание элементов управления asp.Net и их использование
- •2.4.1 Создание пользовательских результатов трассировки
- •Ход выполнения лабораторной работы Упражнение 1 - Создание веб-узла на базе файловой системы
- •Упражнение 2. Использование трассировки для поиска ошибок
- •Упражнение 3 – отображение сведений трассировки в окне средства просмотра трассировки
- •Упражнение 4. Создание пользовательских результатов трассировки
- •Часть 2-5.Создание и использование пользовательских элементов управления
- •Ход выполнения лабораторной работы Упражнение 1 - Создание веб-узла
- •Упражнение 2. Создание пользовательского элемента управления
- •Упражнение 3 - Использование пользовательского элемента управления
- •Упражнение 4. Добавление пользовательских свойств и методов к пользовательскому элементу управления
- •Упражнение 5 - Тестирование свойств и метода пользовательского элемента управления
- •Часть 2-6.Доступ к данным с использованием Microsoft ado.Net Microsoft Visual Studio 2010
- •Ход выполнения работы Упражнение 1. Создание службы
- •Упражнение 2. Создание клиентского приложения
- •Упражнение 3 - Добавление возможностей фильтрации
- •Часть 2-7.Создание приложения asp.Net ajax
- •Упражнение 1 - Создание веб-узла asp.Net
- •Упражнение 2 - Добавление элемента управления UpdatePanel на веб-страницу asp.Net
- •Упражнение 3 - Добавление содержимого в элемент управления
- •Упражнение 4 - Добавление элемента управления UpdateProgress на страницу
- •Упражнение 5 - Добавление задержки в пример приложения
- •Часть 2-8. Использование Microsoft Silverlight для предоставления динамического контента
- •Упражнение 1 - Создание проекта Silverlight
- •Упражнение 2. Определение макета сетки
- •Упражнение 3 - Добавление кода
- •Упражнение 4 - Создание динамического макета
2.4.1 Создание пользовательских результатов трассировки
На странице, с которой осуществлялась работа, добавьте в обработчик Page_Load
следующий выделенный код:
void Page_Load(object sender, EventArgs e)
{
if(Request.Cookies["username"].Value != null)
{
labelName.Text = Request.Cookies["username"].Value;
}
Trace.TraceFinished += new
TraceContextEventHandler(this.TraceFinished);
if (Page.IsPostBack)
{
Trace.Write("debugging", "Page load (postback)");
}
else
{
Trace.Write("debugging", "Page load (first time)");
} }
Создайте следующий метод для обработки событий TraceFinished:
void TraceFinished(object sender, TraceContextEventArgs e)
{
foreach(TraceContextRecord traceRecord in e.TraceRecords)
{
if(traceRecord.Category == "debugging")
{
Response.Write("<br>" + traceRecord.Message);
} } }
Проверка пользовательских результатов трассировки
Нажмите клавиши CTRL+F5 для запуска страницы.
Когда страница отображается в обозревателе, появляется сообщение Page load (first
time) (Загрузка страницы(в первый раз)), но другие результаты трассировки
отсутствуют.
Нажмите кнопку «Отправить».
Появляются сообщения
Page load (postback) (Загрузка страницы(обратная передача)),
Start buttonDisplayName Click handler (Запуск обработчика buttonDisplayName Click),
End buttonDisplayName Click handler (Завершение обработчика buttonDisplayName Click).
Ход выполнения лабораторной работы Упражнение 1 - Создание веб-узла на базе файловой системы
Создадим новый веб-узел
В обозревателе решений нажмем на кнопку “Добавить новый элемент”.
Добавим «Форма Web Forms»
Перейдем в конструктор и добавим элементы управления
TextBox - ID: textName; Text: (пусто).
Button - ID: buttonDisplayName; Text: отправить.
Label - ID: labelName; Text: (пусто).
Перейдем в исходный код и в определение класса добавим следующий код:
protected void buttonDisplayName_Click(Object sender, EventArgs e) {
labelName.Text = Server.HtmlEncode(textName.Text);
Response.Cookies["username"].Value = labelName.Text; }
Добавим следующий метод в определение класса:
void Page_Load(Object sender, EventArgs e) {
if(Request.Cookies["username"] != null) {
labelName.Text = Request.Cookies["username"].Value; } }
Протестируем работу программы
Рис. 1. Результат
Как и предполагалось, при нажатии кнопки, ничего не произойдет. Чтобы это исправить, проделаем следующие упражнения.
Упражнение 2. Использование трассировки для поиска ошибок
В этом разделе будет включена трассировка на странице. Вы проверите результаты
трассировки, а затем добавите пользовательские сообщения трассировки, которые
позволят выявить ошибки на странице.
Включили в свойствах FirstWebPage.aspx трассировку.
Запустим нашу страницу. Мы увидим информацию о трассировке.
Добавим пользовательские результаты трассировки, для чего добавим код в ранеемсозданный метод:
protected void buttonDisplayName_Click(Object sender, EventArgs e) {
Trace.Warn("debugging", "Start buttonDisplayName Click handler");
labelName.Text = Server.HtmlEncode(textName.Text);
Response.Cookies["username"].Value = labelName.Text;
Trace.Warn("debugging", "End buttonDisplayName Click handler"); }
Запустим нашу страницу.При проверке результатов трассировки обратим внимание, что результаты несодержат красного текста. На основании этого можно сделать заключение, что обработчик Click для кнопки «Отправить» не вызывается.
В режиме исходного кода добавим следующий выделенный атрибут к элементу
<asp:button>:
<asp:button id="buttonDisplayName" runat="server" text="Submit" onclick="buttonDisplayName_Click" />
Запустим страницу
Обратим внимание, что введенное имя отображается в метке.
Рис. 2. Полученный результат на данном этапе
Рис. 2.2 - Отображение пользовательских результатов трассировки.
Если мы закроем страницу, то при открытие необходимо добиться, чтобы введенное имя отображалось в течении, например, 30-ти минут.
Для этого в режиме исходного кода добавим следующую выделенную строку в обработчик buttonDisplayName_Click:
protected void buttonDisplayName_Click(Object sender, EventArgs e)
{ Trace.Warn("debugging",
"Start buttonDisplayName Click handler");
labelName.Text = Server.HtmlEncode(textName.Text);
Response.Cookies["username"].Value = labelName.Text;
Response.Cookies["username"].Expires=
DateTime.Now.AddMinutes(30);
Trace.Warn("debugging", "End buttonDisplayName Click handler");
}
Запустим страницу. Убедимся в корректной работе с файлом Cookie.