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 :

[C#] Accéder à la valeur d'un textbox dans un Reapeter


Sujet :

ASP.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut [C#] Accéder à la valeur d'un textbox dans un Reapeter
    Suite aux conseils de mehdi (que je remerci ) j'ai édité mon post pour que ce soit plus clair.


    Donc voilà un bout de code de ma page aspx:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <asp:Repeater ID="listeproduit1" runat="server" EnableViewState="False" OnItemCommand="listeproduit1_ItemCommand">
    <ItemTemplate>
    <asp:TextBox CssClass="quantite" ID="txtQuantite" Text='<%# DataBinder.Eval(Container.DataItem,"quantite") %>' runat="server"></asp:TextBox>
    </ItemTemplate>
    </asp:Repeater>
    [...]
    <asp:Button ID="modifier" runat="server" Text="Recalculer les montants" CssClass="boutons" OnClick="modifier_Click"></asp:Button>
    Et ma question est comment accéder à la valeur du textbox, une fois qu'on l'a modifié et qu'on a cliqué sur le bouton "Recalculer les montants" ? ...

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    pourquoi pas faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String maValeur=txtQuantite.Text;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Parce que j'ai la même erreur en faisant cela, en fait voilà ce que j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    int quantite = Convert.ToInt32(txtQuantite.Text);
    string reference = lblRef.Text;
     
    //OU
     
    int quantite = Convert.ToInt32(((TextBox)Page.FindControl("txtQuantite")).Text);
    string reference = ((Label)Page.FindControl("lblRef")).Text;
    mais toujours la même erreur...

  4. #4
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    sur quelle ligne exactement l'exception est levée ??

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Sur la ligne "int quantite etc.."

    mais j'viens de me rendre compte d'un truc, j'était tellement focalisé sur la page aspx.cs que j'en ai oublié l'autre...

    Le code de mon textbox dans la page aspx est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:TextBox CssClass="quantite" ID="txtQuantite" Text='<%# DataBinder.Eval(Container.DataItem,"quantite") %>' runat="server"></asp:TextBox>
    ça vient probablement de là...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2004
    Messages : 129
    Points : 103
    Points
    103
    Par défaut
    Ta textbox ne serait-elle pas dans un objet genre un Datalist, gridview, formview etc... Si c'est le cas tu ne peux accéder directement au textbox. Tu dois d'abord passer par l'objet parent et ensuite aller vers l'objet voulu.

    Par exemple: Parent.controls(0).controls(0).findControl("Montextbox")

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Voilà ce qu'il y'a dans la page aspx :
    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
    <asp:Repeater ID="listeproduit1" runat="server" EnableViewState="False" OnItemCommand="listeproduit1_ItemCommand">
                        <ItemTemplate>
                            <tr>
                                <td class="texteViolet">
                                    <asp:Label ID="lblRef" Text='<%# DataBinder.Eval(Container.DataItem,"ref") %>' runat="server"></asp:Label></td>
                                <td>
                                    <a href="../DetailProduit.aspx?prod=<%# DataBinder.Eval(Container.DataItem,"ref") %>&cate=<%# DataBinder.Eval(Container.DataItem,"cateId") %>"><asp:Label ID="lblNom" Text='<%# DataBinder.Eval(Container.DataItem,"nom") %>' CssClass="texteGrasViolet" runat="server"></asp:Label></a></td>
                                <td class="texteViolet">
                                    <asp:Label ID="lblPrixUTTC" CssClass="right" Text='<%# DataBinder.Eval(Container.DataItem,"prixUTTC") %>'
                                        runat="server"></asp:Label></td>
                                <td class="texteViolet">
                                    <asp:TextBox CssClass="quantite" ID="txtQuantite" Text='<%# DataBinder.Eval(Container.DataItem,"quantite") %>' 
                                        runat="server"></asp:TextBox></td>
                                <td class="texteViolet">
                                    <asp:Label ID="lblPrixTotal" CssClass="right" Text='<%# DataBinder.Eval(Container.DataItem,"prixTotal") %>'
                                        runat="server"></asp:Label></td>
                                <td>                                                               
                                    <asp:LinkButton CssClass="texteGrasViolet" ID="lnkbtnSupprimer" Text="Supprimer" CommandName="Delete" runat="server"></asp:LinkButton></td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
    Tout est contenu dans un "repeater" (j'vous avoue que je sais pas trop ce que sais, même si j'devine un peu), je précise que ce n'est pas moi qui ait codé cette page, et que je ne peux y retoucher...

    Sinon steelidol, j'ai essayé ta ligne et ça ne marche pas...

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    UP, edit du sujet.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 62
    Points : 33
    Points
    33
    Par défaut
    Bah finalement j'ai trouvé la soluce:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i = 0; i < listeproduit1.Items.Count; i++)
                {
                    quantite = Convert.ToInt32(((TextBox)listeproduit1.Items[i].FindControl("txtQuantite")).Text);
                    reference = ((Label)listeproduit1.Items[i].FindControl("lblRef")).Text;
                }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recuperer la valeur d'un textbox dans un gridview
    Par mouchkar dans le forum ASP.NET
    Réponses: 8
    Dernier message: 26/04/2007, 10h18
  2. [c#]récupérer valeur d'un TextBox dans un Repeater
    Par Filippo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/03/2007, 10h48
  3. VBA-Excel copier la valeur d'une textbox dans une cellule
    Par GrandGarfield dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/08/2006, 10h15
  4. [vba excel] Recherche valeur d'une textbox dans une feuille
    Par vanessaferraz dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/08/2006, 10h55
  5. Utilise la valeur d'une textbox dans une requête sql
    Par podidoo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 29/03/2006, 09h53

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