Глава 5. Столбцы меню заметок и реализация ответов.
Домашняя страница, завершенная в главе 4, на самом деле очень несовершенна. Во-первых, в столбцах меню заметок нет ссылок, и во-вторых, если вы щелкнете по заголовку заметки, вы не сможете создать ссылку. на страницу ответа; в-третьих, если вы нажмете на автора, вы не сможете перейти к информации об авторе; Эти функции будут улучшены в этой главе.
: измените гиперссылку столбца меню в шаблоне bkblog.dwt.aspx, а затем обновите все веб-страницы, открывая домашнюю страницу, найдите, чтобы отобразить содержимое учебных заметок; в порядке убывания времени, щелкните столбец меню. Он также может отображать содержимое учебных заметок в порядке убывания времени в соответствии с столбцами.
5.1.1 Меню «Создать шаблон»
(1) Откройте шаблон bkblog.dwt.aspx, выберите динамический текст (menuda.LM), создайте гиперссылку, ссылку на домашнюю страницу (index.aspx), выберите [Просмотр отображения кода] и переместите наведите указатель мыши на место, где показана красная вертикальная линия на рисунке 5-1-1. (Никаких специальных инструкций ниже нет, все символы — английские символы)
Рисунок 5-1-1 Наведите указатель мыши на атрибут ссылки
(2) Введите «?menanw=" (menanw — переменная параметра), переключитесь на панель [Привязка], перетащите поле LMID под набором данных (меню), чтобы только сейчас. После ввода знака равенства результат показан на рисунке 5-1-2:
Рисунок 5-1-2 Вставка динамических атрибутов (a.href)
(3) Переключитесь на панель [Поведение сервера], вы увидите, что добавлено поведение сервера: динамические атрибуты (a.href), как показано на рисунке 5. -1-3 :
Рисунок 5-1-3 Панель поведения сервера
(4) Выберите меню «Главная» и создайте ссылку на index.aspx, выберите «Свяжитесь с нами» и создайте ссылку на mailto:[email protected];
(5) Сохраните шаблон bkblog.dwt.aspx, после чего появится диалоговое окно, показанное на рис. 5-1-4.
Рисунок 5-1-4 Диалоговое окно «Обновить файл шаблона».
(6) Нажмите кнопку «Обновить», чтобы заполнить столбцы меню примечаний и обновить index.aspx домашней страницы.
5.1.2 Реализовать отображение столбцов на домашней странице
(1) Откройте домашнюю страницу index.aspx, переключитесь на панель [Поведение сервера], дважды щелкните набор данных (Ztre) и во всплывающем диалоговом окне набора данных нажмите кнопку «Дополнительно», как показано на рисунке 5-1-5. Выберите команду SQL в текстовой области [SQL] для копирования. Рекомендуется вставить ее во вновь созданный текст Блокнота или Word. Это будет очень полезно на последующих шагах (вы можете пропустить этот шаг, если вы знакомы с SQL). язык) .
Рисунок 5-1-5 Диалоговое окно «Расширенный набор данных
» (2) Нажмите кнопку «Простой», выберите поле фильтра как LMID в раскрывающемся меню [Фильтр], выберите «Параметр URL» в качестве метода передачи параметра и введите Переменная параметра — menanw. Нажмите кнопку «ОК», результат показан на рисунке 5-1-6:
Рисунок 5-1-6 Измените набор данных Ztre для фильтрации
(3) Просматривайте домашнюю страницу с помощью IE, но результаты просмотра не записываются, как показано на рисунке 5-1-7.
Рисунок 5-1-7 Изображение просмотра домашней страницы
(4) При просмотре домашней страницы в IE щелкните ссылку «Сетевое программирование», результат показан на рисунке 4-3-3 в предыдущей главе, где показаны все примечания по изучению сетевого программирования. .
«Подождите, это не соответствует первоначальной задумке дизайна! Отображаться можно только столбцами, а не всеми учебными заметками!» Также существует проблема передачи данных между страницами ASP.NET: данные между формами в приложениях Windows! Передача может быть достигнута путем определения глобальных переменных (публичных статических переменных) и других методов. Однако эти методы нельзя использовать для передачи данных между веб-страницами в ASP.NET. Например: когда вы нажимаете на панель навигации набора данных, данные Ztre_currentPage будут перенесены, но данные menanw не могут быть переданы. То есть, когда вы нажимаете на любую гиперссылку на панели навигации набора данных, данные передаются. передаваемый menan, всегда будет нулевым, что невозможно. Он не только реализует отображение столбцов, но и одновременно выполняет постраничное отображение под столбцами. Вот решение, использующее сеанс для передачи параметров.
(5) Чтобы передать переменную параметра menanw в session("menanw"), переключитесь на представление кода и вставьте код, показанный в красном круге на рисунке 5-1-8, перед тегом <html>.
Рисунок 5-1-8 Вставьте страницу в index.aspx, чтобы загрузить функцию по умолчанию
(6) Выберите набор данных (Ztre) на панели [Поведение сервера], как показано на рисунке 5-1-9, черная часть — это набор данных (Ztre) Код определения.
Рисунок 5-1-9 Код набора данных Ztre
(7) Найдите код:
CommandText='<%# "SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME ASC" %>'
Измените приведенный выше код на:
CommandText=' <%# IIf(((request.QueryString("menanw")<>nothing) или Request.QueryString("Ztre_CurrentPage") <> Nothing),"SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC","SELECT * FROM ZTRE ORDER BY ZITIME DESC") %>'
(8) Найдено код:
<Parameter Name="@LMID" Value='<%# IIf((request.QueryString("menanw") <> Nothing), request. QueryString("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
Измените приведенный выше код на:
<Parameter Name="@LMID" Value='<% # IIf((session("menanw") <> Nothing), session("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
(9) Выполните просмотр через IE , результат показан на рисунке 4-3-3 главы 4. Дополните устоявшиеся дизайнерские идеи.
дизайнерской идеи страницы ответа: Нажав на заголовок заметки, можно связать страницу, включая заметку и все соответствующие ответы. Из предыдущего раздела видно, что это несложно добиться, передав параметры кода этой заметки только по гиперссылке заголовка заметки.
5.2.1 Базовый дизайн страницы
(1) Создайте новую динамическую страницу ASP.NET VB hf.aspx, созданную с помощью шаблона bkblog.dwt.aspx, вставьте таблицу ztre в редактируемую область основной части и выполните соответствующие проекты. Результат будет показан. на рисунке 5-2-1 показано:
Рис. 5-2-1 Схема построения таблицы ztre
(2) Запустите Access2003, создайте таблицу FH, запрос на соединение таблицы YH HFRE, фактически вид соединения и поля отображения показаны на рисунке 5-2-2.
Рисунок 5-2-2 Запросите соответствующий дизайн HFRE
(3) Выполните шаги (1)–(3) в разделе 4.2.2 Набор данных, чтобы добавить набор данных Ztre, перетащите поля в соответствующие позиции и выполните динамический текст. (Ztre. ZYTEXT), результат показан на рисунке 5-2-3:
Рисунок 5-2-3 Привязка данных к таблице ztre
(4) Измените набор данных Ztre для фильтрации, поле фильтра — ZTID, выберите «Параметр URL» в качестве метода передачи параметра, а переменная входного параметра — ztanw.
(5) Добавьте набор данных Hfre, поле фильтра — ZTID, выберите «Параметр URL» в качестве метода передачи параметров, а переменную входного параметра — ztanw. Результат показан на рисунке 5-2-4:
Рисунок 5-2-4 Дизайн набора данных Hfre
(6) Перетащите поле набора данных Hfre в соответствующую позицию таблицы ztre, установите для параметра формата динамического текста (Htre.HFTEXT) значение «Кодировка — формат кодирования HTML». ", и измените первое поле таблицы ztre. Строки 5, 6 и 7 определены как повторяющиеся области, а данные перелистываются в таблицу ztre. Результаты показаны на рисунке 5-2-5:
Рисунок 5-2-5 Привязка набора данных Htre к таблице ztre
(7) Откройте домашнюю страницу index.aspx, выберите динамический текст (Ztre.ZTNAME), создайте гиперссылку, ссылку на hf.aspx, переключитесь на код view и поместите ссылку. Измените атрибут на: hf.aspx?ztanw=. После перетаскивания поля ZTID под набором данных Ztre на знак равенства результат будет таким, как показано на рисунке 5-2-6:
Рисунок 5-2-6 Добавление динамических гиперссылок в код
(8) Сохраните hf.aspx и index.asps, введите несколько записей в соответствующую таблицу HF и таблицу YH в Access и просмотрите index.asps в браузере IE, нажмите тема учебной записки с ответом, как показано на рисунке 5-2-7:
Рисунок 5-2-7 Отображение страницы ответа
(9) Затем щелкните любую гиперссылку в навигации по набору данных, результат будет показан на рисунке 5-2-8:
Рисунок 5-2-8. Результаты страницы после нажатия на навигацию по набору данных
! Все прошло! Это проблема передачи данных между веб-страницами ASP.NET. Его необходимо изменить, как указано в разделе 5.1.
(10) Переключитесь в режим просмотра кода и вставьте код, показанный в красном кружке на рисунке 5-2-9, перед тегом <html>.
Рисунок 5-2-9 Вставьте страницу в hf.aspx, чтобы загрузить функцию по умолчанию
(11) Найдите код в наборе данных Ztre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString ("ztanw") <> Ничего), request.QueryString("ztanw"), "") %>' Type="Integer" />
Замените request.QueryString("ztanw") в приведенном выше коде на session("ztanw) "), Код результата изменяется на
<Parameter Name="@ZTID" Value='<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(12) Найдите код в наборе данных Hfre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString("ztanw") <> Nothing), запрос .QueryString("ztanw" ), "") %>' Type="Integer" />
Замените request.QueryString("ztanw") в приведенном выше коде на session("ztanw"), и полученный код будет изменен на
< Имя параметра="@ZTID" Value= '<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(13) Сохраните hf.aspx.