2014-01-16 6 views
0

Некоторое время отыскивалось это.VS2012 Express Текстовое поле отсутствует Событие KeyPress

Хотите, чтобы вызвать событие KeyPress моего текстового поля, но я не могу. Я искал некоторое время теперь, видел вещи, как «добавить DLL System.Windows.Forms» .. Так что я добавил в верхней части моей страницы:

Imports System.Windows.Forms 

Но все та же ошибка ..»

Я работаю здесь с Microsoft Visual Studio Express 2012 для Интернета, и я создаю обычный веб-сайт aspx. Не возможно ли здесь инициировать это событие или я что-то упускаю?

Я могу вызвать «TextChanged» событие, но это не то, что я ищу, потому что только кажется, чтобы вызвать мою функцию, когда текстовое поле потерял фокус ..

enter image description here

Немного помогите здесь пожалуйста.

+0

, если вы создаете веб-сайт, элемент управления находится в 'System.Web.UI.WebControls.WebControls'. Если открыть браузер объектов и найти его, вы увидите, что веб-версия не поддерживает событие нажатия клавиши. ваш импорт ничего не значит, потому что элемент управления находится из пространства имен выше – Plutonix

ответ

1

Событие KeyPress отсутствует, когда вы работаете с программой ASP.NET. Если вы посмотрите на статьи, возвращенные с https://www.google.com/#q=asp.net+keypress+event+textbox, вы увидите, что они используют JavaScript на клиенте.

В зависимости от того, почему вы хотите перехватывать каждое нажатие клавиши, вы можете реализовать желаемую функциональность в JavaScript. You может использовать AJAX для отправки сообщения серверу каждый раз, когда нажата клавиша, но пользовательский опыт относительно медленного ввода текста или вещи, происходящие из синхронизации с тем, что они печатают, могут быть нежелательными.

Вы должны удалить ссылку на System.Windows.Forms.

+0

Я хочу добавить функцию автозаполнения на основе введенного значения в текстовом поле. Эта функция вызовет хранимую процедуру и получит наилучший ответ автозаполнения на введенном слове. Каждый раз, когда пользователь вводит дополнительную букву, эта функция должна запускаться. Текстовое поле расположено на моей главной странице, поэтому нет возможности также вызвать pagemethod с jquery. Итак, здесь я сомневаюсь, как это сделать наилучшим образом. – Yosoyke

+1

. Вашему исследованию может помочь поиск «jQuery autocomplete из базы данных ashx пример". Вам нужно будет написать какой-то веб-обработчик для возврата соответствующих данных. –

+0

Thx для ответа Andrew, проверит это в течение 24 часов, если это поможет мне, я помету ваш ответ как принятый. – Yosoyke

0

Вы хотите провести мероприятие TextChaned и не забудьте также установить свойство AutoPostback в текстовое поле True для этого.

KeyPress - это событие WinForms, а VS2012 Express для Web даже не имеет ссылок на классы WinForms. Удалите использование KeyPress.