[AJAX] Evénement KeyUp sur asp:TextBox qui rend résultat avec Ajax
bonjour,
je viens de débuter en c# et je voudrais savoir s'il est possible de récupérer le résultat d'une requête SqlServer avec Ajax.
j'ai crée ma fonction Ajax et j'ai crée aussi ma fonction [WebMethod] Afficher() (code behind).
voila le code c#
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public static GridView Afficher(string data,string prenom)
{
SqlConnection conn = new SqlConnection("Data Source=MONORDINATEUR\\SAM;Database=Base_2eme_Tache;User ID=sa;Password=sam");
DataSet Grille = new DataSet();
GridView Grid = new GridView();
conn.Open();
SqlDataAdapter dataadapter = new SqlDataAdapter("select * from categorie where titre_cat like '"+data.ToString()+"%' ", conn);
dataadapter.Fill(Grille);
Grid.DataSource = Grille;
Grid.DataBind();
conn.Close();
return Grid;
//return "Bonjour je suis venu Via AJAX "+ DateTime.Now.ToString ()+" Data : "+data.ToString()+" Prenom : "+prenom;
} |
puis le code Ajax
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| $("#txtrech").live("keyup", function () {
//alert("coucou");
var envoie = { data : $("#txtrech").val(), prenom : "xxxxxxx" }
$.ajax({
type: "POST",
url: "Default.aspx/Afficher",
data: JSON.stringify(envoie),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert("Sucesssssss");
document.getElementById("affichage").innerHTML = msg.d;
},
complete: function (msg) {
alert("2 COMPLETER " + msg.d + " ENVOIE : " + envoie);
},
error: function (msg) {
alert("3 ERROR " + msg.d + " ENVOIE : " + envoie);
}
});
return false;
}); |
si je modifie le type du retour de la fonction WebMethod Afficher() en string, je reçois bien le message et ajax passe en mode SUCESS, mais quand je modifie le type de retour en GRIDVIEW, ajax passe toujours en mode ERROR, vous pouvez m'aider s'il vous plait?