Invoquer ASP.NET événement TextChanged de JavaScript à l'aide d' __doPostBack

Comme beaucoup d'autres, je suis en train d'invoquer un .NET de contrôle côté serveur d'événement à partir de JavaScript.

Plus précisément, je tiens à feu le TextChanged événement sur une zone de texte nommée txtSearch. Donc, je suis à la recherche de l'événement de client-côté:

protected void txtSearch_TextChanged(object sender, EventArgs e)

Avoir lu beaucoup de réponses sur (par exemple ici et ici) j'ai le code JavaScript suivant:

__doPostBack('ctl00$ctl00$Container$Main$txtSearch', 'TextChanged');

Mais le côté serveur de l'événement se déclenche jamais.

J'ai essayé de nombreuses permutations: avec le AutoPostBack le vrai et le faux, avec et sans l'événement déclaré dans le côté serveur des instructions sur la ASPX (c'est à dire OnTextChanged=""), avec la EventValidation désactivé dans la page de déclaration, à l'aide de la ClientID plutôt que l'id unique dans le EVENTTARGET paramètre... mais l'événement est encore jamais tiré.

Un couple de d'autres points

  • la txtSearch bouton de contrôle est aussi le déclencheur pour un UpdatePanel, dans le cas où des questions.
  • Je suis à la conversion de code existant, dont il y en a beaucoup, et suis à la recherche de quelque chose que je peux déposer sur chaque page, plutôt que de convertir le code-behind événements à PageMethods.

Quelqu'un peut me dire ce que je dois faire?

  • Pour aider à réduire le problème - le Page_Load événement me faire virer?
  • oui, c'est fait.
InformationsquelleAutor awj | 2012-12-04