IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Ajax Discussion :

textBox utilisation d'AutoCompleteExtender


Sujet :

ASP.NET Ajax

  1. #1
    Membre du Club Avatar de ralf91
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 419
    Points : 60
    Points
    60
    Par défaut textBox utilisation d'AutoCompleteExtender
    Bonjour,

    Je souhaiterais faire un textbox avec des suggestions, quand l'utilisateur commence à saisir les premieres lettres, le textbox lui propose la liste de tous les mots qui commencent avec ce qu'il a saisi.
    Pour cela j'ai utilisé un contrôle AJAX qui s'appelle AutoCompleteExtender, le problème je n'ai pas réussi à le faire fonctionner ! et pourtant j'ai suivi un tuto ... la plus part des exemples que j'ai trouvé sur le net expliquent comment le brancher sur un service web directement, moi je voudrais qu'il m'affiche juste à partir d'un tableau de données.

    Donc ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     <table>
                        <tr>
                         <td><asp:TextBox ID="txtbox_ItemNo" runat="server" AutoPostBack="true" OnTextChanged="txtbox_ItemNo_OnTextChanged" </asp:TextBox></td> 
                        </tr>
     </table>
     
    <asp:AutoCompleteExtender ID="AutoCompleteExtender_ItemNo" 
                TargetControlID="txtbox_ItemNo" runat="server" UseContextKey="True" ServiceMethod="GetCompletionList" 
                ServicePath="~/Process/ajaxProcess.cs/>
    et dans la classe qui se trouve dans : ~/Process/ajaxProcess.cs j'ai mis mon code qui contient les données (un exemple d'un tuto) comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
         [System.Web.Services.WebMethod]
            [System.Web.Script.Services.ScriptMethod]
            public static string[] GetCompletionList(string prefixText, int count, string contextKey)
            {
                // Create array of movies  
                string[] movies = { "Star Wars", "Star Trek", "Superman", "Memento", "Shrek", "Shrek II" };
     
                // Return matching movies  
                return (from m in movies where m.StartsWith(prefixText, StringComparison.CurrentCultureIgnoreCase) select m).Take(count).ToArray();
            }
    quand je saisie dans le textbox il ne se passe rien ! pourquoi ?

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2011
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 49
    Points : 40
    Points
    40
    Par défaut
    Bonjour Ralf,

    Il y a quelques jours que j'ai rencontrer le même souci, et e voudrais partager avec toi ma solution.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Data;
    using System.Data.SqlClient;
    using System.Configuration;
    
    Page :  Domaine.aspx
    
    
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    12345678910
     
     
    <ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txt_article" 
    MinimumPrefixLength="1" EnableCaching="true" CompletionSetCount="1" CompletionInterval="1000" ServiceMethod="GetArticles" >
     
    <td class="style20">
    <asp:TextBox ID= "txt_article"  runat="server" Height="16px" 
            style="text-align: center" Width="265px"></asp:TextBox> 
    </ajax:AutoCompleteExtender>
    </td>
    Domaine.aspx.cs public partial class _Domaine : System.Web.UI.Page { SqlConnection con = new SqlConnection("server=localhost;database=zak_agri;user id=zak_user;password=1234"); DataTable dt = new DataTable(); SqlDataAdapter da = new SqlDataAdapter(); SqlCommandBuilder cb = new SqlCommandBuilder(); [System.Web.Script.Services.ScriptMethod()] [System.Web.Services.WebMethod] public static List<string> GetArticles(string prefixText) { SqlConnection con = new SqlConnection("server=localhost;database=han_agri;user id=han_user;password=1234"); con.Open(); SqlCommand cmd = new SqlCommand("select * from t_article_03 where article like @article+'%'", con); cmd.Parameters.AddWithValue("@article", prefixText); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); List<string> Articles = new List<string>(); for (int i = 0; i < dt.Rows.Count; i++) { Articles.Add(dt.Rows[i][1].ToString()); } return Articles; } }
    J'éspére que ca va t'aider ..

  3. #3
    Membre actif Avatar de Olivier P.
    Homme Profil pro
    Développeur Front-End chez un éditeur logiciel
    Inscrit en
    Octobre 2012
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur Front-End chez un éditeur logiciel
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 83
    Points : 206
    Points
    206
    Par défaut
    Bonjour,

    Peux-tu mettre un point d'arrêt dans ta méthode WebService, afin que nous sachions déjà si le souci vient dans la méthode ou dans son appel.

    Peux-tu aussi mettre le code complet de ta classe (celle du web service) ?
    MCTS Microsoft 70-536
    MCTS Microsoft 70-515

Discussions similaires

  1. textbox et ajaxToolkit:AutoCompleteExtender
    Par M.Mounir dans le forum ASP.NET
    Réponses: 6
    Dernier message: 22/04/2009, 22h30
  2. Dynamique Textbox & utilisation
    Par Lyche dans le forum ASP.NET
    Réponses: 3
    Dernier message: 26/10/2007, 10h30
  3. [VB.NET] Sauvegarde dans TextBox des logons utilisés
    Par stephane93fr dans le forum ASP.NET
    Réponses: 3
    Dernier message: 27/10/2005, 11h00
  4. [VB.NET]Utilisation d'une TextBox
    Par cach dans le forum Windows Forms
    Réponses: 3
    Dernier message: 26/05/2005, 09h54
  5. [VB.NET] Utiliser les collections de contrôles (Textbox)
    Par dinbougre dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/01/2005, 18h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo