Originariamente inviato da ussfabio
salve, ho una pagina aspx, all'interno eseguo un ciclo for da 1 a 3, vorrei creare a video 3 <input type=text name="txt<%=i%>"> .....
come faccio
so di aver usato il vecchio ap per esempio ma era solo per rendere l'idea
grazie e ciao
Puoi fare in tanti modi, uno è quello suggerito da sms, un'altro lo suggerisco io.
Nella pagin, dove debbono comparire i controlli metti un <asp:Literal, per esempio:
codice:
<form id="Form1" method="post" runat="server">
<asp:Literal id="Literal1" runat="server" EnableViewState="False"></asp:Literal>
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
</form>
e, nel codice sottostante metti nell'evento load:
codice:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Inserire qui il codice utente necessario per inizializzare la pagina
Dim s$ = "", i% = 0
For i = 1 To 3
s += String.Format("<INPUT type=""text"" name=""text_{0}"" value=""{1}"">
", i, Trim(Request.Form(String.Format("text_{0}", i))))
Next
Me.Literal1.Text = s
End Sub
Naturalmente, qualcuno obietterà che conviene creare dinamicamente dei controlli server <asp:TextBox ed inserirli in un segnaposto, per esempio un PlaceHolder. Questo è vero in tante occasioni ma, qualche volta è necessario scrivere a mano il codice html. Per esempio, se tu avessi la necessità di avere tanti TextBox con name identico...
Ciao