[c#]récupérer valeur d'un TextBox dans un Repeater [Résolu]

Signaler
Messages postés
18
Date d'inscription
mercredi 5 juillet 2006
Statut
Membre
Dernière intervention
21 mai 2007
-
Messages postés
18
Date d'inscription
mercredi 5 juillet 2006
Statut
Membre
Dernière intervention
21 mai 2007
-
Bonjour,
Dans un Repeater j'ai des contrôles, dont un bouton qui me permet d'exploiter les données du Repeater hors du Repeater grâce au CommandArgument du bouton.

Avec cette technique je cherche à récupérer également la valeur d'un TextBox qui se trouve dans le même Repeater. Et je n'y arrive pas.

Je cherche une instruction du style :

<!-- BEGIN TEMPLATE: bbcode_code -->CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id")%>,f_dernierVaccin_m.Text'

Si quelqu'un a une idée .... 




Repeater complet :

asp:Repeater ID="rpt_vaccins"  runat="server">
                                        <HeaderTemplate>
                                            <tr bgcolor="WhiteSmoke" style="font-weight: bold; font-size: x-small; color: black">
                                                <td>Germe</td>
                                                <td>Vaccin</td>
                                                <td>Mois dernière vaccination</td>
                                                <td></td>
                                                <td>Année dernière vaccination</td>                                               
                                                <td>Sélectionner</td>
                                            </tr>
                                        </HeaderTemplate>
                                       
                                            <tr bgcolor='<%# DataBinder.Eval(Container.DataItem, "Couleur")%>' style='font-size: x-small;
                                                    color: <%# DataBinder.Eval(Container.DataItem, "Couleur_f")%>'>
                                            </tr>
                                            <td><%# DataBinder.Eval(Container.DataItem, "Germe_Nom")%></td>
                                            <td><%# DataBinder.Eval(Container.DataItem, "Vaccin_Nom")%></td>
                                            <td>
                                                </td>
                                             <td>/</td>
                                                <td>
                                            </td>
                                            <td>
                                                ,f_dernierVaccin_m.Text'
                                                        Font-Names="Arial Black" Font-Size="X-Small" ForeColor="Black" Height="10" OnCommand="btn_rpt_vaccins_Click" />
                                            </td>
                                       
                                   

2 réponses

Messages postés
104
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
27 juin 2007
3
J'ai  eu un peu le meme probleme avec mon datalist.

Je pense que ca devrait marchait.

En fait au lieu d'un bouton tu utilise un lien de style
<td>[mapageDereception.aspx?valeur= "><%# DataBinder.Eval(Container.DataItem, "lacolonneRepeater")%>]</gras></td>

Ainsi un de ton bouton ressemplera à un bouton lien mais il enverra une valeur dans url à la page qui va receptionner la variable.
Qui peut etre la meme.

ensuite du fait dans la page qui recoit

string maValeur = request.Params["valeur"]
et voila .

Je sais pas si c'est ca que tu voulait faire mais bon ca peut toujours servir

A plis
Messages postés
18
Date d'inscription
mercredi 5 juillet 2006
Statut
Membre
Dernière intervention
21 mai 2007

Merci, oui en effet on peut utiliser un lien html.

J'ai réussi en utilisant l'événement OnItemCommand du repeater au lieu de l'événement du click sur le bouton dans le repeater; ça marche bien.

Ensuite dans la void appelée par OnItemCommand, je récupère mes valeurs avec :

TextBox

f_dernierVaccin_m = (
TextBox)e.Item.FindControl(
"f_dernierVaccin_m");

TextBox f_dernierVaccin_a = (
TextBox)e.Item.FindControl(
"f_dernierVaccin_a");
Où e est le RepeaterCommandEventArgs du repeater.