вопрос:
В веб-форме есть элемент управления. Лучше всего, чтобы этот элемент управления имел доступ к базе данных в режиме реального времени. Как только в базе данных произойдут изменения, данные будут отправлены клиенту, и будут отображены самые последние данные.
анализировать:
Поскольку клиент необходимо обновить, необходимо использовать функцию часов внешнего интерфейса js. Сервер изменился, и клиенту необходимо обновить данные. Как я могу обновить данные без обновления или ошибочно обновить страницу. , то есть клиент в основном видит Нет обновления.
Решение: (поправьте меня, если есть ошибки, мой уровень ограничен, спасибо)
Существует два основных решения: в режиме реального времени и опрос.
В режиме реального времени: запуск путем добавления триггера в базу данных и последующей записи файла на сервере для использования в качестве семафора. Я думаю, что эта технология слишком сложна для этой проблемы, поэтому я не стал продолжать ее изучение. Друзья, которым интересно, могут зайти в MSDN, чтобы увидеть ее, но она действительно может обновлять данные в реальном времени, что наиболее эффективно для реального времени. разговоры.
Опрос: 1. Используйте метод xmlhttp без обновления. Об этом методе вы можете прочитать статью, написанную другими людьми, которую я переслал ранее, в которой есть подробное введение. Однако после тестирования я обнаружил, что с сервера вам нужен HTML-код всей страницы. получите от него необходимое содержимое элемента управления и повторите его. Конфигурация все еще слишком сложна и не обязательно эффективна.
2. Для завершения используйте HTML-фреймворк, который я в основном пишу. Этот метод прост и удобен в реализации. Я думаю, что он очень полезен в ситуациях, когда динамически отображаются только небольшие данные.
Подробное введение: напишите iframe src="../test/WebForm2.aspx" в том месте, где необходимо обновить HTML-код. Src — это подключаемая страница, а затем при необходимости настройте размер рамки и полос прокрутки.
Создайте новую страницу WebForm2.aspx в качестве страницы подключения в фрейме. Поместите элементы управления, которые необходимо обновлять в реальном времени, на эту страницу, а затем в событие Page_Load.
Private Sub Page_Load (отправитель ByVal As System.Object, ByVal e As System.EventArgs) Обрабатывает MyBase.Load
'Поместите сюда код для получения обновлений базы данных и свяжите его с элементом управления End Sub.
Затем добавьте мета HTTP-EQUIV="Refresh" content="1" URL="/test/WebForm2.aspx" в HTML.
Это означает, что эта страница будет автоматически обновляться каждую 1 секунду (вы также можете добавить часы переднего плана, такие как window.setInterval(function,1000) в соответствии с фактической ситуацией), чтобы результат был завершен после запуска первой страницы. , вторая страница не будет прервана. Через некоторое время она обновится, но клиент будет чувствовать себя так же, как если бы она не обновлялась.