TextBox
в веб-приложение будет вызывать TextChanged
событие, когда Enter нажата, но только если текст изменился.Как обнаружить постбэк вызванные ввести ключ в текстовом поле в ASP.NET
Если текст не изменился при Enter нажата, постбэк все еще имеет место, но TextChanged
событие не делает.
Мне интересно, можно ли определить, что Ввод был нажат в текстовое поле и вызвал обратную передачу, т.е. есть что-то вроде следующего?
protected void Page_Load(object sender, EventArgs e) {
if (sender.reasonControlName == "MyTextBox" &&
sender.reasonControlKey == keyEnter) {
handleEnterKey();
}
}
ASP.Net 4
Заметим, что это не вопрос о том, как отключить постбэк вызванное ENTER ключ в TextBox в веб-приложении, например, stackoverflow.com/questions/4209903
Существует также обходное решение, использующее панель и DefaultButton stackoverflow.com/questions/12072281, но это похоже немного.
@ConnersFan That обходного, кажется, больше работы, чем поставив поле в панели и используя 'DefaultButton', чтобы вызвать обратную передачу, но полезно, чтобы все это было документировано. – Matt