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 Discussion :

Jquery-UI Button icon et ASP.NET


Sujet :

ASP.NET

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Désolé pour le temps de réponse mais effectivement je pense que tu as raison. Merci pour ton aide, c'est top !

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Bonjour,

    Je suis tombé sur une nouvelle difficulté, lorsque mon tableau où mes boutons sont ajoutés via l'appel d'une fonction, mes .click() ne fonctionnent pas.
    Lorsque le même code est présent dans le Page_Load, tout fonctionne correctement.
    Code peuplement asp:table est exécutée dans le onClick d'un bouton :
    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
    // Load contacts in table
                foreach (Model.User user in listUsers)
                {
                    TableRow newRow = new TableRow();
                    newRow.Attributes["id"] = listUsers.IndexOf(user).ToString();
     
                    // Login Cell
                    TableCell newCell = new TableCell();
                    newCell.Text = user.Login;
                    newCell.Attributes.Add("class", "lists");
                    newRow.Cells.Add(newCell);
     
                    // Display Name Cell
                    newCell = new TableCell();
                    newCell.Text = user.DisplayName;
                    newCell.Attributes.Add("class", "lists");
                    newRow.Cells.Add(newCell);
     
                    // Display Name Cell
                    newCell = new TableCell();
                    newCell.Text = user.Mail;
                    newCell.Attributes.Add("class", "lists");
                    newRow.Cells.Add(newCell);
     
                    newCell.Attributes.Add("class", "lists");
                    newRow.Cells.Add(newCell);
     
                    // Action Cell
                    newCell = new TableCell();
                    // Add ADD button
                    Button addButton = new Button();
                    addButton.Text = "Ajouter";
                    addButton.ID = String.Format("add_{0}", listUsers.IndexOf(user).ToString());
                    addButton.Click += new EventHandler(addButton_Click);
                    addButton.CssClass = "inputAdd";
                    newCell.Controls.Add(addButton);
                    newCell.Attributes.Add("class", "lists");
                    newRow.Cells.Add(newCell);
     
                    // Add row to table
                    userSearchList.Rows.Add(newRow);
                }
    Code Jquery :
    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
     
    $('input[type="submit"]').each(function()
    	{
    		if ( $(this).is(".inputAdd")) {
    			$(this).hide().after('<button>').next().button
    			({
    				icons:
    				{
    					primary: 'ui-icon-plus'
    				},
    				text: false
    			}).click(function(event)
    			{
    				event.preventDefault();
    				$(this).prev().click();
    				return false;
    			});
    		}
    	});
    Je cherche depuis quelque temps pour comprendre pourquoi le clic ne fonctionne pas ... En fait il est bien détecté mais il me relance ma page alors qu'il devrait passer dans addButton_Click.
    Merci pour toute l'aide que vous pourrez m'apporter.

  3. #23
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    Est-ce que tu fais un postback asynchrone quand tu appelles tes fonctions (tu utilises un updatepanel) ?

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Non rien de tout ça ...
    Je fais ça directement dans un asp:table, ceci est mon entête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <asp:Table ID="usersList" runat="server" GridLines="None" CellPadding="5">
                <asp:TableHeaderRow>
                    <asp:TableHeaderCell>Login</asp:TableHeaderCell>
                    <asp:TableHeaderCell>Nom complet</asp:TableHeaderCell>
                    <asp:TableHeaderCell>Supprimer</asp:TableHeaderCell>
                </asp:TableHeaderRow>
            </asp:Table>
    Je le peuple avec le code plus haut en fonction du nombre de ligne que je récupère via une autre fonction.
    Je ne le fais pas que dans ce cas là. A un autre endroit, j'ai deux boutons par ligne, le premier fonctionne mais pas le second alors qu'ils sont générés de la même façon.
    J'ai regardé le code via Firebug et je me suis aperçu qu'il était surchargé au niveau de sa classe ce qui pourrait expliquer pourquoi le .Click() ne fonctionne pas ...
    Premier bouton qui fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input id="MainContent_admin_086baf58-9040-49f8-a0c2-2d476a9ab61c" class="btnEdit" type="submit" value="Editer" name="ctl00$MainContent$admin_086baf58-9040-49f8-a0c2-2d476a9ab61c" style="display: none;">
    <button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" role="button" aria-disabled="false" title="">uiButton=Object { element={...}, uuid=11, eventNamespace=".button11", more...}
    Second bouton qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input id="MainContent_cancel_086baf58-9040-49f8-a0c2-2d476a9ab61c" class="btnCancel ui-button ui-widget ui-state-default ui-corner-all" type="submit" value="Annuler" name="ctl00$MainContent$cancel_086baf58-9040-49f8-a0c2-2d476a9ab61c" role="button" aria-disabled="false" style="display: none;">uiButton=Object { element={...}, uuid=0, eventNamespace=".button0", more...}
    <button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only" role="button" aria-disabled="false" title="">uiButton=Object { element={...}, uuid=12, eventNamespace=".button12", more...}

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    J'ai fait un peu debug avec Firefox pour voir ce qui se passait lors du click sur le bouton. Dans le cas où je peuple mon tableau via une fonction, j'ai ceci dans le html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input id="MainContent_Spinner1_add_0" class="inputAdd" type="submit" value="Ajouter" name="ctl00$MainContent$Spinner1$add_0" style="display: none;">
    <button class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only ui-state-focus" role="button" aria-disabled="false" title="">uiButton=Object { element={...}, uuid=9, eventNamespace=".button9", more...}
    J'ai donc mes deux boutons, le premier permet de faire référence à celui que j'ai créé en C#. Lors du clic, je passe dans :
    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
     
    if ( $(this).is(".inputAdd")) {
    			$(this).hide().after('<button>').next().button
    			({
    				icons:
    				{
    					primary: 'ui-icon-plus'
    				},
    				text: false
    			}).click(function(event)
    			{
    				event.preventDefault();
    				$(this).prev().click();
    				return false;
    			});
    Je passe bien dans le .Click() et j'ai vérifié que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).prev().click();
    fait bien référence à mon champ input. Donc en toute logique le problème vient du côté C# ...
    Un peu plus haut dans ma page j'ai le même mécanisme qui est initialisé dans le Page.Load et là tout fonctionne correctement ...

  6. #26
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    En faite tu veux dire que tu fais bien un postback sauf que la fonction addButton_Click n'est jamais appelé.
    Pour qu'une méthode attachée à un événement soit bien appeler à chaque chargement elle doit être rattachée à chaque chargement, ce morceau de code doit donc être appeler à chargement de ta page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     addButton.Click += new EventHandler(addButton_Click);

  7. #27
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    J'ai compris que ça venait de ça du coup j'ai pu corriger le problème.
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. JQuery autocompletion asp.net
    Par M.Mounir dans le forum jQuery
    Réponses: 1
    Dernier message: 18/04/2009, 17h23
  2. [ASP.net] [C#] Button.Onclick et ViewState
    Par vince_lille dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/01/2009, 20h21
  3. [ASP.NET 2.0 C#] Button
    Par mow dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/02/2008, 16h38
  4. [C#][asp.NET] Button Click et commande SQL
    Par patricklinden dans le forum ASP.NET
    Réponses: 1
    Dernier message: 21/12/2007, 04h38
  5. Réponses: 12
    Dernier message: 09/02/2007, 18h04

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