На странице я имею:
<asp:TextBox runat="server" ID="EmailTextBox" AutoPostBack="true" OnTextChanged="EmailTextBox_Changed" />
<asp:Button runat="server" ID="SearchButton" OnClick="AddButton_Click" Text="add" />
В EmailTextBox_Changed это подсчитывает, сколько электронных писем может быть найдено, прежде, чем запустить поиск.
Проблема, когда Вы вводите что-то в EmailTextBox и нажимаете на кнопку, необходимо нажать дважды для подъема фактических результатов. Это вызвано тем, что первый щелчок делает часть "Автообратной передачи" от текстового поля, и затем необходимо щелкнуть еще раз для создания фактической обратной передачи щелчка для случая.
Не удаляя "AutoPostBack=true", как я могу остановить его нуждающийся в двух щелчках при этих обстоятельствах?
Фактически, вам не нужно нажимать кнопку, чтобы произошло первое событие. Просто «оставьте» текстовое поле, то есть с «табуляцией» из него, чтобы произошел AutoPostBack.
Если вы хотите сделать и то, и другое в одной обратной передаче, просто удалите кнопку и делайте то, что вы делаете в AddButton_Click, также в событии Textbox_Change.
Вы могли бы избежать этого, не делая это на стороне сервера и используя Javascript. Вы также не опубликовали событие загрузки страницы. Вы проверяете, возвращается ли оно обратно или нет?
Другой способ сделать это - событие, которое происходит при нажатии кнопки, может быть вызвано из события TextChanged и избавиться от кнопки вместе.