Like many others, I'm trying to invoke a .NET control's server-side event from JavaScript.
Specifically, I want to fire the TextChanged event on a TextBox named txtSearch. Therefore, I'm looking to reach the following event from client-side:
protected void txtSearch_TextChanged(object sender, EventArgs e)
Having read many answers on SO (for example here and here) I have the following JavaScript:
__doPostBack('ctl00$ctl00$Container$Main$txtSearch', 'TextChanged');
But the server-side event never fires.
I've tried numerous permutations: with the AutoPostBack true and false, with and without the event declared in the server-side instructions on the ASPX (i.e. OnTextChanged=""), with the EventValidation turned off in the page declaration, using the ClientID rather than the UniqueID in the EVENTTARGET parameter... but the event is still never fired.
A couple of other points
- the
txtSearchbutton control is also the trigger for an UpdatePanel, in case that matters. - I'm converting existing code, of which there's quite a lot, and am looking for something I can drop onto each page rather than converting the code-behind events to PageMethods.
Can anyone tell me what more I need to do?
Page_Loadevent get fired?