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

Résolu
ludo27600 Messages postés 18 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 21 mai 2007 - 20 mars 2007 à 10:39
ludo27600 Messages postés 18 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 21 mai 2007 - 22 mars 2007 à 07:59
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

IslandMan974 Messages postés 104 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 27 juin 2007 3
21 mars 2007 à 20:57
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
3
ludo27600 Messages postés 18 Date d'inscription mercredi 5 juillet 2006 Statut Membre Dernière intervention 21 mai 2007
22 mars 2007 à 07:59
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.
0
Rejoignez-nous