Я подошел к этому, используя UpdatePanel
в моей веб-части. Затем я добавил Button (подробнее об этом позже) и TextBox в UpdatePanel.
У меня также есть класс JavaScript, который обрабатывает всю логику для отправки запроса после того, как пользователь сделал паузу при вводе своего запроса. Он содержит обработчик события onkeyup
, который прикреплен к TextBox:
t.Attributes.Add("onkeyup", "javascript:oSearchClass.KeyUpEventHandler(event);");
Я использовал setTimeout и clearTimeout для обработки, когда класс должен вызывать функцию SubmitQuery
.
Когда вызывается SubmitQuery()
, он делает TextBox доступным только для чтения (поэтому пользователь не может ничего вводить во время выполнения запросов), а затем «нажимает» кнопку, используя click()
. Поскольку вы используете обычную кнопку Button, вы можете обработать событие Button.click как обычное для повторного запроса списка и отображения результатов.
Если вы не хотите, чтобы ваш пользователь видел кнопку, вы можете просто поместить ее в span
WebControl, который скрыт.