Capítulo 5 Columnas del menú de notas e implementación de respuestas
La página de inicio completada en el Capítulo 4 es en realidad muy imperfecta. Primero, no hay enlaces en las columnas del menú de notas y no se puede hacer clic en segundo lugar, si hace clic en el título de la nota, no puede vincular; a la página de respuesta; en tercer lugar, si hace clic en el autor, no puede vincular a la información del autor. Estas funciones se mejorarán en este capítulo.
: Modifique el hipervínculo de la columna del menú en la plantilla bkblog.dwt.aspx y luego actualice todas las páginas web al abrir la página de inicio, busque para mostrar el contenido de las notas de estudio en; Orden descendente de tiempo, haga clic en la columna del menú. También puede mostrar el contenido de la nota de estudio en orden descendente de tiempo según las columnas.
5.1.1 Crear menú de plantilla
(1) Abra la plantilla bkblog.dwt.aspx, seleccione texto dinámico (menuda.LM), cree un hipervínculo, enlace a la página de inicio (index.aspx), seleccione [Vista de visualización de código] y mueva mueva el mouse al lugar donde se muestra la línea vertical roja en la Figura 5-1-1. (No hay instrucciones especiales a continuación, todos los símbolos son caracteres en inglés)
Figura 5-1-1 Mueva el mouse al atributo de enlace
(2) Ingrese "?menanw=" (menanw es la variable de parámetro), cambie al panel [Enlace], arrastre el campo LMID debajo del conjunto de datos (menuda) a Justo ahora Después del signo igual ingresado, el resultado se muestra en la Figura 5-1-2:
Figura 5-1-2 Insertar atributos dinámicos (a.href)
(3) Cambie al panel [Comportamiento del servidor], puede ver que se ha agregado un comportamiento del servidor: atributos dinámicos (a.href), como se muestra en la Figura 5 -1-3 :
Figura 5-1-3 Panel de comportamiento del servidor
(4) Seleccione el menú "Inicio" y cree un enlace a index.aspx, seleccione "Contáctenos" y cree un enlace a mailto:[email protected].
(5) Guarde la plantilla bkblog.dwt.aspx y aparecerá el cuadro de diálogo que se muestra en la Figura 5-1-4.
Figura 5-1-4 Cuadro de diálogo Actualizar archivo de plantilla.
(6) Haga clic en el botón "Actualizar" para completar las columnas del menú de notas y actualizar la página de inicio index.aspx.
5.1.2 Implementar visualización de columnas en la página de inicio
(1) Abra la página de inicio index.aspx, cambie al panel [Comportamiento del servidor], haga doble clic en el conjunto de datos (Ztre) y en el cuadro de diálogo emergente del conjunto de datos , haga clic en el botón "Avanzado" como se muestra en la Figura 5-1-5. Seleccione el comando SQL en el área de texto [SQL] para copiar. Se recomienda pegarlo en el Bloc de notas o en el texto de Word recién creado. Será de gran utilidad en los pasos siguientes (puede omitir este paso si está familiarizado con SQL). idioma) .
Figura 5-1-5 Cuadro de diálogo Avanzado del conjunto de datos
(2) Haga clic en el botón "Simple", seleccione el campo de filtro como LMID en el menú desplegable [Filtro], seleccione "Parámetro URL" como método de transferencia de parámetros y la entrada La variable del parámetro está menanw. Presione el botón "OK", el resultado se muestra en la Figura 5-1-6:
Figura 5-1-6 Modifique el conjunto de datos de Ztre para filtrar
(3) Explore la página de inicio con IE, pero los resultados de la navegación no se registran, como se muestra en la Figura 5-1-7
Figura 5-1-7 Imagen de navegación de la página de inicio
(4) En la página de inicio de navegación de IE, haga clic en el enlace "Programación de red", el resultado se muestra en la Figura 4-3-3 del capítulo anterior, que muestra todas las notas de estudio de programación de red. .
"¡Espera un momento, esto no está en línea con la idea de diseño original! ¡Solo se puede mostrar por columnas, no por todas las notas de estudio!" También existe un problema de transferencia de datos entre páginas ASP.NET: datos entre formularios en aplicaciones de Windows. La transferencia se puede lograr definiendo variables globales (variables estáticas públicas) y otros métodos. Sin embargo, estos métodos no se pueden utilizar para transferir datos entre páginas web en ASP.NET. Por ejemplo: cuando hace clic en la barra de navegación del conjunto de datos, los datos de Ztre_currentPage se transferirán, pero los datos de menanw no se pueden transferir. Es decir, cuando hace clic en cualquier hipervínculo de la barra de navegación del conjunto de datos, los datos. transferido por menan siempre será nulo, lo cual no es posible. No solo realiza la visualización de columnas, sino que también realiza la visualización de paginación debajo de las columnas al mismo tiempo. Aquí hay una solución que usa la sesión para pasar parámetros.
(5) Para pasar la variable de parámetro menanw a la sesión ("menanw"), cambie a la vista de código e inserte el código que se muestra en el círculo rojo en la Figura 5-1-8 antes de la etiqueta <html>.
Figura 5-1-8 Inserte la página en index.aspx para cargar la función predeterminada
(6) Seleccione el conjunto de datos (Ztre) en el panel [Comportamiento del servidor], como se muestra en la Figura 5-1-9, la parte negra es el código de definición del conjunto de datos (Ztre).
Figura 5-1-9 Código del conjunto de datos Ztre
(7) Busque el código:
CommandText='<%# "SELECT * FROM ZTRE WHERE LMID = ? ORDER BY ZITIME ASC" %>'
Cambie el código anterior a:
CommandText=' <%# IIf(((request.QueryString("menanw")<>nada) o Request.QueryString("Ztre_CurrentPage") <> Nada),"SELECCIONAR * DESDE ZTRE DONDE LMID =? ORDENAR POR ZITIME DESC","SELECCIONAR * FROM ZTRE ORDER BY ZITIME DESC") %>'
(8) Código encontrado:
<Parameter Name="@LMID" Value='<%# IIf((request.QueryString("menanw") <> Nothing), solicitud. QueryString("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
Cambie el código anterior a:
<Parameter Name="@LMID" Value='<% # IIf((session("menanw") <> Nothing), session("menanw"), "") %>' Type="Integer" /></Parameters></MM:DataSet>
(9) Realizar exploración de IE , el resultado se muestra en la Figura 4-3-3 del Capítulo 4. Completa las ideas de diseño establecidas.
Idea de diseño de implementación de la página de respuesta: al hacer clic en el título de la nota, se puede vincular una página, incluida la nota y todas las respuestas correspondientes. Se puede ver en la sección anterior que esto no es difícil. Se puede lograr pasando los parámetros de código de esta nota solo en el hipervínculo del título de la nota.
5.2.1 Diseño de página básico
(1) Cree una nueva página dinámica ASP.NET VB hf.aspx generada por la plantilla bkblog.dwt.aspx, inserte la tabla ztre en el área editable del cuerpo principal y realice diseños relacionados. Se muestra el resultado. En la Figura 5-2-1 se muestra:
Figura 5-2-1 Diagrama de diseño de la tabla ztre
(2) Inicie Access2003, establezca la tabla FH, consulte la conexión de la tabla YH HFRE; de hecho, la vista de conexión y los campos de visualización se muestran en la Figura 5-2-2.
Figura 5-2-2 Consultar el diseño relevante de HFRE
(3) Siga los pasos (1)-(3) en la sección 4.2.2 Conjunto de datos para agregar el conjunto de datos Ztre, arrastre los campos a las posiciones correspondientes y realice texto dinámico (Ztre. ZYTEXT), el resultado se muestra en la Figura 5-2-3:
Figura 5-2-3 Vincular datos a la tabla ztre
(4) Modifique el conjunto de datos Ztre para filtrar, el campo de filtro es ZTID, seleccione "parámetro URL" como método de transferencia de parámetros y la variable del parámetro de entrada es ztanw.
(5) Agregue el conjunto de datos Hfre, el campo de filtro es ZTID, seleccione "parámetro URL" como método de transferencia de parámetros y la variable del parámetro de entrada es ztanw. El resultado se muestra en la Figura 5-2-4:
Figura 5-2-4 Diseño del conjunto de datos Hfre
(6) Arrastre el campo del conjunto de datos Hfre a la posición correspondiente de la tabla ztre, establezca la configuración de formato del texto dinámico (Htre.HFTEXT) en "Codificación: formato de codificación HTML ", y cambie el primer campo de la tabla ztre. Las líneas 5, 6 y 7 se definen como áreas repetidas y los datos se paginan en la tabla ztre. Los resultados se muestran en la Figura 5-2-5:
Figura 5-2-5 Vincule el conjunto de datos Htre a la tabla ztre
(7) Abra la página de inicio index.aspx, seleccione el texto dinámico (Ztre.ZTNAME), cree un hipervínculo, vincule a hf.aspx, cambie al código vista y coloque el enlace Cambie el atributo a: hf.aspx?ztanw=. Después de arrastrar el campo ZTID debajo del conjunto de datos Ztre al signo igual, el resultado se muestra en la Figura 5-2-6:
Figura 5-2-6 Agregar hipervínculos dinámicos en el código
(8) Guarde hf.aspx e index.asps, ingrese algunos registros en las tablas HF y YH correspondientes en Access, busque index.asps en el navegador IE y haga clic en el tema de la nota de estudio con respuesta, como se muestra en la Figura 5-2-7:
Figura 5-2-7 Visualización de la página de respuesta
(9) Luego haga clic en cualquier hipervínculo en la navegación del conjunto de datos; el resultado se muestra en la Figura 5-2-8:
Figura 5-2-8 ¡Los resultados de la página después de hacer clic en la navegación del conjunto de datos
! ¡Todo se ha ido! Este es el problema de la transferencia de datos entre páginas web ASP.NET. Debe modificarse como en la Sección 5.1.
(10) Cambie a la vista de código e inserte el código que se muestra en el círculo rojo en la Figura 5-2-9 antes de la etiqueta <html>.
Figura 5-2-9 Inserte la página en hf.aspx para cargar la función predeterminada
(11) Busque el código en el conjunto de datos Ztre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString ("ztanw ") <> Nothing), request.QueryString("ztanw"), "") %>' Type="Integer" />
Reemplace request.QueryString("ztanw") en el código anterior con session("ztanw "), El código de resultado se modifica a
<Parameter Name="@ZTID" Value='<%# IIf((session("ztanw")<> Nothing), session("ztanw"), "") %>' Type="Integer" />
(12) Busque el código en el conjunto de datos Hfre:
<Parameter Name="@ZTID" Value='<%# IIf((request.QueryString("ztanw") <> Nothing), request .QueryString("ztanw" ), "") %>' Type="Integer" />
Reemplace request.QueryString("ztanw") en el código anterior con session("ztanw") y el código resultante se modifica a
< Nombre del parámetro="@ZTID" Valor= '<%# IIf((session("ztanw")<> Nada), sesión("ztanw"), "") %>' Tipo="Integer" />
(13) Guarde hf.aspx.