Глава 10. Реализация календаря событий BLOG
Поскольку БЛОГ Докинга представляет собой учебную заметку, вы можете проверить все заметки и ответы на них, нажав на календарь.
Анализ сложности: следует ли добавлять элемент управления «Календарь» непосредственно в шаблон? Нет! Это не сработает! Поскольку элемент управления Calendar Calendar является серверным элементом управления, он должен иметь форму, содержащую runat="server". Однако на странице может быть только одна форма, содержащая runat="server", иначе возникнет ошибка, показанная на рис. 10-1. иногда будет шоу.
Рисунок 10-1. Что делать, если на странице может быть только одна ошибка, содержащая форму runat="server"
? Вот встроенная основа для переноса.
10.1 Добавление элемента управления календарем «Календарь»
(1) Создайте новую пустую динамическую страницу ASP.NET VB.
(2) Вставьте и откройте форму runat="server" и установите ID="Calfrm".
(3) Нажмите кнопку «Дополнительные теги» в контекстном меню ASP.NET и выберите «Календарь asp» в разделе «Теги ASP.NET» во всплывающем диалоговом окне [Выбор тегов], как показано на рисунке 10-2. .
Рисунок 10-2. Вставка тега «asp Calendar»
(4) Нажмите кнопку «Вставить», и появится диалоговое окно [Редактор тегов — Календарь], как показано на рисунке 10-3. В этом диалоге вы можете установить стиль элемента управления календарем «Календарь». Поскольку он на китайском языке, я не буду здесь вдаваться в подробности.
(5) Сохраните динамическую страницу ASP.NET VB как dkCalendar.aspx. Просмотрите в IE, как показано на рисунке 10-4.
Рисунок 10-3 Диалоговое окно [Редактор тегов — Календарь]
Рис. 10-4. Просмотр dkCalendar.aspx в IE.
На рис. 10-1-4 вы можете видеть, что отображение недели слишком длинное и некрасивое! Было бы неплохо, если бы там было написано «день, один, два, три, четыре, пять, шесть».
10.2 Изменение отображения недели в календаре
(1) Откройте dkCalendar.aspx в Dreamweaver, переключитесь в представление кода и найдите следующий код:
<
%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" " %>
Измените его на:
<%@ Page Language="VB" Debug="true" Culture="zh-CN"%>
(2) Нажмите кнопку "а:xy" под контекстным меню ASP.NET и вставьте пространство имен, например, как показано на рисунке 10-5.
(3) На этом этапе добавьте новый код:
<%@ Import Namespace="" %>
Входным пространством имен является System.Globalization, то есть код изменяется на:
<%@ Import Namespace="System.Globalization" %>
(4) Добавьте снова пространство имен System.Threading, результат показан на рисунке 10-6.
Рисунок 10-5. Вставка пространства имен.
Рисунок 10-6 Код после вставки пространства имен
(5) После кода:
<%@ Import Namespace="System.Treading" %>
оставьте пустую строку и вставьте следующий код:
<script runat="server">
Dim dkday ' определение Глобальная переменная строки ссылки, созданная путем выбора
функции даты для изменения отображения недели
Private Sub Calendar1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Обрабатывает Calendar1.PreRender
Dim dkwek = System.Threading.Thread. CurrentThread
Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone()
dknew.DateTimeFormat.DayNames = New String() {"Day", "一", "二", "三", "四", "五", "六"}
dknew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday
dkwek.CurrentCulture = dknew
End Sub
</script>
(6) Выберите исходный код элемента управления календарем Calendar1, перейдите на вкладку [Свойства] панели [Метка] , разверните опцию «Внешний вид», выберите в раскрывающемся меню пункт «DayNameFormat» и выберите «Полный», как показано на рисунке 10-7.
(7) Сохраните dkCalendar.aspx и просмотрите его в IE. Результат показан на рисунке 10-8.
Рис. 10-7. Выберите значение «DayNameFormat» как «Full». Рис. 10-8.Добавление событий календаря
в IE 10.3 после изменения dkCalendar.aspx
(1) Откройте dkCalendar.aspx в Dreamweaver, переключитесь в режим просмотра кода и выберите исходный код Calendar1 , щелкните его правой кнопкой мыши и выберите «Редактировать метку (E) <asp:calendar>» во всплывающем контекстном меню, как показано на рисунке 10-9.
Рисунок 10-9. Выберите «Редактировать метку (E) <asp:calendar>»
(2) В появившемся диалоговом окне [Редактировать метку — календарь] разверните элемент «События», выберите «OnSelectionChanged» и нажмите «Календарь». —OnSelectionChanged» В текстовой области события введите «Calendar1_SelectionChanged» и нажмите кнопку «ОК», как показано на рисунке 10-10.
Рисунок 10-10. Изменение события OnSelectionChanged
(3) Добавьте код, показанный в красном кружке на рисунке 10-11, в тег кода <script runat="server">.
Рис. 10-11. Добавление события Calendar1_SelectionChanged
(4) Между тегами <head></head> вставьте код, показанный в красном кружке на рис. 10-12.
(5) Найдите тег <body> и измените его на код, показанный в красном кружке на рисунке 10-13.
Рис. 10-12. Вставка функции JavaScript dkwk.
Рисунок 10-13 Измените тег <body>
(6) Снова установите для элемента «DayNameFormat» Calendar1 значение «Full», см. шаг 6 в разделе 10.2.
(7) Сохраните dkCalendar.aspx, откройте index.aspx и добавьте следующий код в функцию page_load:
если Request.QueryString("dkday")<>ничего, то
Ztre.CommandText="SELECT * FROM ZTRE WHERE cstr(ZITIME) LIKE ' %" &Request.QueryString("dkday")&"%' ORDER BY ZITIME DESC"
else
if (request.QueryString("menanw")<>ничего) или (session("menanw")<>ничего), то
Ztre .CommandText ="SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME DESC"
else
Ztre.CommandText="SELECT * FROM ZTRE ORDER BY ZITIME DESC"
end if
end if
Результат показан на рисунке 10-14.
Рис. 10-14. Добавьте код (8) в функцию page_load
, чтобы найти исходный код набора записей Ztre, и удалите командную строку, в которой находится его CommandText. Результат показан красным кружком на рис. 10-15.
Рис. 10-15 Исходный код (9) модифицированного набора записей Ztre
сохраняет index.aspx.
10.4 Добавление встроенного фрейма
(1) Откройте шаблон dkblog.dwt.aspx, нажмите кнопку «Дополнительные теги» в контекстном меню ASP.NET и выберите «HTML-теги» в появившемся диалоговом окне [Выбор тегов]. И выберите пункт «iframe», как показано на рисунке 10-16.
Рисунок 10-16. Вставка тега iframe (т. е. встроенного фрейма)
(2) Нажмите кнопку «Вставить» и во всплывающем диалоговом окне [Редактор тегов — iframe] установите соответствующие настройки для вставляемого встроенного фрейма, как показано на рисунке. показано на рисунке 10-17.
Рисунок 10-17. Выполните соответствующие настройки для встроенного фрейма
(3) Нажмите кнопку «ОК», чтобы вернуться в диалоговое окно [Редактор тегов — iframe], а затем нажмите кнопку «Закрыть».
(4) Сохраните шаблон dkblog.dwt.aspx и обновите все веб-страницы.
(5) Просмотрите index.aspx в IE, результат показан на рисунке 10-18.
Рис. 10-18. Просмотр index.aspx в IE.
Напоминание: на самом деле реализация событий календаря — это очень сложное событие, вот лишь простой пример. Еще одна трудность в этом разделе — управление объектом главного окна встроенной платформой. Здесь мы используем только « parent.location.href » для управления потоком веб-страницы главного окна. Их оставляют читателям изучать медленно.