Capítulo 10 Implementación del calendario de eventos del BLOG
Dado que el BLOG de Doking es una nota de estudio, puedes consultar todas las notas y las respuestas de las notas presionando el calendario.
Análisis de dificultad: ¿Deberíamos agregar el control de calendario Calendario directamente a la plantilla? ¡No! ¡Eso no funcionará! Dado que el control de calendario Calendario es un control de servidor, debe estar en un formulario que contenga runat="server". Sin embargo, solo puede haber un formulario que contenga runat="server" en una página; de lo contrario, se mostrará el error en la Figura 10-1. algunas veces ocurrirá.
Figura 10-1 ¿Qué debo hacer si la página solo puede tener un error que contenga el formulario runat="server"
? Aquí hay un marco integrado para la transferencia.
10.1 Agregar control de calendario Calendario
(1) Cree una nueva página dinámica ASP.NET VB en blanco.
(2) Inserte y muestre el formulario runat="server" y configure ID="Calfrm".
(3) Haga clic en el botón "Más etiquetas" en el menú contextual de ASP.NET y seleccione "Calendario asp" en "Etiquetas ASP.NET" en el cuadro de diálogo emergente [Selector de etiquetas], como se muestra en la Figura 10-2. .
Figura 10-2 Inserte la etiqueta "Calendario asp"
(4) Presione el botón "Insertar" y aparecerá el cuadro de diálogo [Editor de etiquetas—Calendario], como se muestra en la Figura 10-3. En este diálogo, puede configurar el estilo del control del calendario Calendario. Como está en chino, no entraré en detalles aquí.
(5) Guarde la página dinámica ASP.NET VB como dkCalendar.aspx. Navegue en IE, como se muestra en la Figura 10-4.
Figura 10-3 Cuadro de diálogo [Editor de etiquetas—Calendario]
Figura 10-4 Navegando por dkCalendar.aspx en IE
En la Figura 10-1-4, puede ver que la visualización de la semana es demasiado larga y fea. Sería bueno que dijera "día, uno, dos, tres, cuatro, cinco, seis".
10.2 Modificar la visualización de la semana del Calendario
(1) Abra dkCalendar.aspx en Dreamweaver, cambie a la vista de código y busque el siguiente código:
<
%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312 " %>
Cámbielo a:
<%@ Page Language="VB" Debug="true" Culture="zh-CN"%>
(2) Haga clic en el botón "а:xy" debajo del menú contextual de ASP.NET e inserte el espacio de nombres, como como se muestra en la Figura 10-5.
(3) Agregue un nuevo código en este momento:
<%@ Import Namespace="" %>
El espacio de nombres de entrada es System.Globalization, es decir, el código se cambia a:
<%@ Import Namespace="System.Globalization" %>
(4) Agregue nuevamente Namespace System.Threading, el resultado se muestra en la Figura 10-6.
Figura 10-5 Inserción de espacio de nombres
Figura 10-6 Código después de insertar el espacio de nombres
(5) Después del código:
<%@ Import Namespace="System.Treading" %>
, deje una línea en blanco e inserte el siguiente código:
<script runat="server">
Dim dkday ' definición La variable global de la cadena de enlace generada al seleccionar la
función fecha 'para cambiar la visualización de la semana
Private Sub Calendar1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Maneja Calendar1.PreRender
Dim dkwek = System.Threading.Thread. CurrentThread
Dim dknew = System.Globalization.CultureInfo.CurrentCulture.Clone()
dknew.DateTimeFormat.DayNames = New String() {"Día", "一", "二", "三", "四", "五", "六"}
dknew.DateTimeFormat.FirstDayOfWeek = DayOfWeek.Sunday
dkwek.CurrentCulture = dknew
End Sub
</script>
(6) Seleccione el código original del control de calendario Calendar1, cambie a la pestaña [Propiedades] del panel [Etiqueta] , expanda la opción "Apariencia", seleccione el menú desplegable del elemento "DayNameFormat" y seleccione "Completo", como se muestra en la Figura 10-7.
(7) Guarde dkCalendar.aspx y examínelo en IE. El resultado se muestra en la Figura 10-8.
Figura 10-7 Seleccione el valor "DayNameFormat" como "Completo" Figura 10-8Agregar eventos de calendario
en IE 10.3 después de modificar dkCalendar.aspx
(1) Abra dkCalendar.aspx en Dreamweaver, cambie a la vista de código y seleccione el código original de Calendar1, haga clic derecho y seleccione "Editar etiqueta (E) <asp:calendar>" en el menú contextual emergente, como se muestra en la Figura 10-9.
Figura 10-9 Seleccione "Editar etiqueta (E) <asp:calendar>"
(2) En el cuadro de diálogo que aparece [Editar etiqueta—calendario], expanda el elemento "Eventos", seleccione "OnSelectionChanged" y haga clic en "Calendario —OnSelectionChanged" En el área de texto del evento, ingrese "Calendar1_SelectionChanged" y presione el botón "Aceptar", como se muestra en la Figura 10-10.
Figura 10-10 Edite el evento OnSelectionChanged
(3) Agregue el código que se muestra en el círculo rojo en la Figura 10-11 en la etiqueta de código <script runat="server">.
Figura 10-11 Agregar evento Calendar1_SelectionChanged
(4) Entre las etiquetas <head></head>, inserte el código que se muestra en el círculo rojo en la Figura 10-12.
(5) Busque la etiqueta <cuerpo> y cámbiela por el código que se muestra en el círculo rojo en la Figura 10-13.
Figura 10-12 Insertando la función javascript dkwk
Figura 10-13 Modifique la etiqueta <body>
(6) Configure nuevamente el elemento "DayNameFormat" de Calendar1 en "Full"; consulte el paso 6 en la Sección 10.2.
(7) Guarde dkCalendar.aspx, abra index.aspx y agregue el siguiente código en la función page_load:
if Request.QueryString("dkday")<>nada entonces
Ztre.CommandText="SELECT * FROM ZTRE WHERE cstr(ZITIME) LIKE ' %" &Request.QueryString("dkday")&"%' ORDER BY ZITIME DESC"
else
if (request.QueryString("menanw")<>nada) o (session("menanw")<>nada) entonces
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
El resultado se muestra en la Figura 10-14.
Figura 10-14 Agregue código (8) en la función page_load
para encontrar el código original del conjunto de registros Ztre y elimine la línea de comando donde se encuentra su CommandText. El resultado se muestra en el círculo rojo en la Figura 10-15.
Figura 10-15 El código original (9) del conjunto de registros modificado Ztre
guarda index.aspx.
10.4 Agregar un marco incrustado
(1) Abra la plantilla dkblog.dwt.aspx, haga clic en el botón de acceso directo "Más etiquetas" en el menú de acceso directo de ASP.NET y seleccione "Etiquetas HTML" en el cuadro de diálogo [Selector de etiquetas] que aparece Y seleccione el elemento "iframe", como se muestra en la Figura 10-16.
Figura 10-16 Insertar etiqueta de iframe (es decir, marco incrustado)
(2) Haga clic en el botón "Insertar" y en el cuadro de diálogo emergente [Editor de etiquetas—iframe], realice los ajustes pertinentes para el marco incrustado que se insertará, como se muestra en la Figura 10-17.
Figura 10-17 Realice los ajustes pertinentes para el marco incrustado
(3) Presione el botón "Aceptar" para regresar al cuadro de diálogo [Editor de etiquetas—iframe] y luego presione el botón "Cerrar".
(4) Guarde la plantilla dkblog.dwt.aspx y actualice todas las páginas web.
(5) Busque index.aspx en IE. El resultado se muestra en la Figura 10-18.
Figura 10-18 Navegando index.aspx en IE
Recordatorio: De hecho, la implementación de eventos de calendario es un evento muy complejo, aquí hay solo un ejemplo simple. Otra dificultad en esta sección es el control del objeto de la ventana principal por parte del marco integrado. Aquí solo usamos " parent.location.href " para controlar el flujo de la página web de la ventana principal. Estos se dejan a los lectores para que los estudien lentamente.