pregunta:
Hay un control en el formulario web. Lo mejor es que este control acceda a la base de datos en tiempo real. Una vez que haya cambios en la base de datos, los datos se enviarán al cliente y se mostrarán los datos más recientes.
analizar:
Debido a que el cliente necesita actualizarse, se debe usar la función de reloj de front-end de js. El servidor ha cambiado y el cliente necesita actualizarse para actualizar los datos. ¿Cómo puedo actualizar los datos sin actualizar o actualizar incorrectamente la página? , es decir, el cliente básicamente ve Sin actualización.
Solución: (corríjame si hay algún error, mi nivel es limitado, gracias)
Hay dos soluciones principales: tiempo real y sondeo.
Tiempo real: dispare agregando un disparador en la base de datos y luego escribiendo un archivo en el servidor para usarlo como semáforo. Creo que esta tecnología es demasiado complicada para este problema, por lo que no he seguido estudiándola. Los amigos que estén interesados pueden ir a MSDN para verla, pero de hecho puede actualizar datos en tiempo real, lo cual es más efectivo en tiempo real. conversaciones.
Sondeo: 1. Utilice xmlhttp sin método de actualización. Para este método, puede leer el artículo escrito por otros que le envié anteriormente, que tiene una introducción detallada. Sin embargo, después de probarlo, descubrí que lo que se obtiene del servidor es el código HTML de toda la página. obtenga el contenido de control que necesita y repítalo. La configuración aún es demasiado complicada y no necesariamente eficiente.
2. Utilice el marco HTML para completarlo, que es el método que escribo principalmente. Este método es simple y fácil de implementar, creo que es muy útil para situaciones en las que solo se muestran dinámicamente datos pequeños.
Introducción detallada: escriba iframe src="../test/WebForm2.aspx" en el lugar donde el HTML debe actualizarse. Src es la página que se va a conectar y luego ajuste el tamaño del marco y las barras de desplazamiento según sea necesario.
Cree una nueva página WebForm2.aspx como página de conexión enmarcada. Coloque los controles que deben actualizarse en tiempo real en esta página y luego en el evento Page_Load.
Private Sub Page_Load (remitente ByVal como System.Object, ByVal y como System.EventArgs) maneja MyBase.Load
'Coloque aquí el código para obtener actualizaciones de la base de datos y asócielo con el control End Sub
Luego agregue meta HTTP-EQUIV="Refresh" content="1" URL="/test/WebForm2.aspx" al html
Significa que esta página se actualizará automáticamente cada 1 segundo (también puede agregar un reloj de primer plano como window.setInterval (función, 1000) según la situación real), para que el resultado se complete después de que se inicie la primera página. , la segunda página no se interrumpirá y se actualizará después de un tiempo, pero el cliente siente lo mismo como si no se hubiera actualizado.