none
avoir des textbox successifs? RRS feed

  • Question

  • je veux creer un tableau html ordinaire dans une page ASP.NET(C#) qui contient un certain nombre de lignes ( à partir d'une boucle for)
    les lignes contiennent des controles asp:textbox et je veux affecter aux ID de ces textbox un nom significatif (tel que text+i pour avoir ensuite les id suivant text1,text2,....) afin de recuperer ensuite leurs valeurs pour les mettre dans un tableau ....
    la concatination d'un nom + i n'a pas marché et je ne sais pas comment faire ??
     j'ai essayé avec le response.write(...+i); dans le ID mais ca pas marché !
    dimanche 4 février 2007 16:08

Toutes les réponses

  • Bonsoir,

    Que voulez-vous dire par "ça n'a pas marché" ? Obtenez vous une erreur ou un mauvais formatage ?

    Ajoutez aussi l'appel à ToString() sur la variable i soit : nom + i.ToString()

    lundi 5 février 2007 22:06
  • bonjour

    il me semble avoir repondu à ce probleme dans le post suivant : bouton, label, textbox oui ... mais en dynamique !

    j'ai donné une reponse en vb

    mais en copiant mon code à cette adresse, vous pouvez le convertir en c#
    http://www.carlosag.net/Tools/CodeTranslator/Default.aspx

    Esperant avoir été utile.

     

    mardi 6 février 2007 08:03
  • je viens de dire que on ne peut pas ecrire de l'ASP dans l'ID du textbox. par exemple j'ai ecris ID=<%Response.Write("text"+i);%>.... mais ca n'a pas marché ... le probleme consiste encore et je crois qu'il faut faire un groupe de textbox tout comme dans VB6 mais comment le faire ?
    mardi 6 février 2007 12:53
  • Je ne parlais pas forcément d'écrire de l'ASP dans votre page ASPX au niveau de l'ID.
    Vous pouvez manipulez l'ID d'un contrôle à partir du code behind.

    mercredi 7 février 2007 20:06
  • Je suis d'accord, la solution fonctionne bien, je peux créer dynamiquement autant de contrôles que je veux mais comment faire pour les placer à l'endroit où je veux du côté de l'ASP.

    J'ai une liste de contrôles pour lequels je peux faire
    foreach(TextBox monControl in maListe){Form.Controls.Add(monControl)}
    Mais ça me place les contrôles directement à la fin du formulaire.

    J'ai lu une solution avec un placeHolder mais le problème est que je ne sais pas combien de placeHolder je vais avoir.

    J'aimerais faire une boucle à l'intérieur de ma balise <form runat="server"> du genre :
    Code Snippet


    <% foreach(Article article in mesArticles)
    {
    %>
        <tr>
           <td>
              <%=article.Informations%>
           </td>
           <td>
              <%ICI dessiner un controle de ma liste préparée dans le codeBehind%>
            </td>
        </tr>
    <%
    }

    Code Snippet


    Mais si je fais une boucle du côté affichage, je ne peux plus utiliser Controls.Add !

    jeudi 14 juin 2007 10:29