2011-06-21 6 views
0

KeyPress ou KeyDown les événements ne sont pas disponibles dans System.Web.UI.WebControls.TextBox, donc une façon de le faire est d'utiliser Java-Scripts, mais vous voulez déclencher certaines requêtes Sql lors de ces événements. est-il possible d'exécuter des requêtes Sql à partir de JavaScript? sinon comment puis-je le faire?comment gérer les événements KeyPress ou KeyDown dans asp.net?

+1

Pour déclencher des événements, la page doit être affichée et je suis sûr que vous ne voulez pas que pour chaque touche. Ajax serait-il adapté à cela? – tom502

+1

Je n'ai pas encore utilisé ajax, mais je suppose que je peux l'apprendre pour ça. –

Répondre

2

Si vous devez capturer des événements clés, vous devez utiliser Javascript.

Vous pouvez utiliser ajax pour envoyer ces clés au serveur et effectuer des actions. Je pense que vous pensez à quelque chose qui ressemble à Google Suggest.

5

Non, vous ne pouvez pas exécuter SQL à partir de JavaScript. Votre meilleur pari est d'utiliser quelque chose comme jquery et de câbler un événement à .change() (ou quelque chose de similaire) et ensuite faire une requête ajax pour effectuer la requête sql. Un événement côté serveur (qui n'existe pas) pour la touche ou la touche enfoncée de la zone de texte enverrait la page à chaque fois et cela ne fonctionnerait pas pour l'utilisateur. Vous pouvez regarder dans jquery ui autocomplete si vous cherchez à afficher des informations

-3
You can handel the key press event in this way :  

<%@ Page Language="C#" %> 
<script runat="server"> 

protected void Page_Load(object sender, EventArgs e) 
{ 
if (!Page.IsPostBack) 
{ 
Label1.Text = "Start"; 
} 
TextBox1.Attributes.Add("onkeyup", "rewriteLabel()"); 
} 
</script> 

<script type="text/javascript"> 

function rewriteLabel(){ 
TextBox1.Text = Label1.text; 
} 

</script> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head > 
<title >test</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<br /> 
<asp:TextBox ID="TextBox1" runat="server" /><br /> 
<asp:Label ID="Label1" Runat="server" BorderWidth="1px" /> 
</form> 
</body> 
</html> 

Mais vous ne pouvez pas tirer des requêtes SQL dans ces événements.

Questions connexes