J'utilise ASP.NET 3.5 avec C #. Je dois faire une recherche de base de données lorsqu'un utilisateur entre dans le producteur dans TXTPRODUCTID. Je suppose que faire JavaScript est hors de question puisque cela devra être un appel latéral du serveur. J'ai écrit ce code dans l'événement Page_Load de la page Web:
protected void Page_Load(object sender, EventArgs e) { txtProductID.Attributes.Add("onblur", "LookupProduct()"); } protected void LookupProduct() { //Lookup Product information on onBlur event; }
3 Réponses :
Cela devrait faire l'affaire, comme référence ici: http://www.codedigest.com/cODEDIGEST/80-CALLING-A-SERVERSIDE-METHOD-FROM-JAVAScript-NAP-NET-AJAX-- -PageMethods.aspx
Ce sont les commandes p> ceci est le javascript p> ceci est le serveur SidewebMethod P> [WebMethod]
public static bool LookupProduct()
{
return true;
}
^^ Tout en utilisant déjà un Panneau Update, ce qui est un meilleur moyen d'atteindre ce comportement, le gestionnaire d'événements ONTExtChanged ou votre page de pageMethods suggérées?
Ça dépend. Voulez-vous un post-plan? Si oui, alors le OntextChanged code> est probablement la voie à suivre. J'ai écrit ma réponse autour de son balisage, tandis que la réponse de @ jrummel a moins de code.
Utilisez le TEXTBOX.TEXTCHANGED événement.
ASPX MARKUP: P>
protected void txtProductID_TextChanged(object sender, EventArgs e) { // do your database query here }
Notez que cette réponse provoquera le post-plancher pendant que @ Durilai ne le sera pas.
Il n'y a pas de solution rapide pour cela - vous devez soit déclencher un message post-pack sur l'événement client (à l'aide de Alternativement, si vous n'avez pas vraiment besoin de déclencher cet événement sur chaque flou, et que lorsque le texte a modifié em>, vous pouvez simplement utiliser le côté serveur Onblur code> est un événement côté client.
lookupproduct code> est une méthode côté serveur. Vous ne pouvez pas en faire référence à un de l'autre - il n'y a tout simplement pas d'association que ce soit entre les deux. P>
clientscriptManager.getpostbackeventreferferferference Mettre en place un rappel Ajax à l'aide d'une bibliothèque comme Microsoft ASP.NET AJAX . P>
textbox.onchangned CODE> Evénement et définissez la propriété
autopostback de la zone Textbox code> sur
true code>. Assurez-vous de vous rappeler de définir
autopostback code>, sinon cela ne vous mènera nulle part. P>
L'événement doit être tiré sur LostFocus / Onblur de la zone de texte
@ user279521: Il n'y a pas d'événement LOSTFOCUS CODE> LOSTFOCUS, Donc, si vous devez le signaler à l'événement
Onblur code>, vous devez construire le post-plan / rappel comme indiqué dans le deuxième paragraphe.
@ user279521. Regardez ma réponse ci-dessous qui vous permettra d'appeler une méthode côté serveur à partir de n'importe quel type d'événement JavaScript.