Вызвать событие ASP.NET TextChanged из JavaScript с помощью __doPostBack
Как и многие другие, я пытаюсь вызвать серверное событие элемента управления .NET из JavaScript.
В частности, я хочу уволитьTextChanged
событие в TextBox с именемtxtSearch
, Поэтому я стремлюсь достичь следующего события со стороны клиента:
protected void txtSearch_TextChanged(object sender, EventArgs e)
Прочитав много ответов на SO (например,Вот а такжеВот) У меня есть следующий JavaScript:
__doPostBack('ctl00$ctl00$Container$Main$txtSearch', 'TextChanged');
Но серверное событие никогда не срабатывает.
Я пробовал многочисленные перестановки: с AutoPostBack true и false, с и без события, объявленного в инструкциях на стороне сервера в ASPX (то есть OnTextChanged = ""), с EventValidation, отключенным в объявлении страницы, с использованием ClientID, а не UniqueID в параметре EVENTTARGET ... но событие по-прежнему не вызывается.
Пара других моментов
txtSearch
Кнопка управления также является триггером для UpdatePanel, в случае, если это имеет значение.Я конвертирую существующий код, которого достаточно много, и ищу что-то, что я могу добавить на каждую страницу, а не конвертировать события с выделенным кодом в PageMethods.Может кто-нибудь сказать мне, что еще мне нужно сделать?