Ciao joeykiske
Per il posizionamento puoi ricorrere ai css, riscrivo il file .aspx per mettere una classe al div (e togliere una riga che non serviva)
file .aspx
<body>
<form id="form1" runat="server">
<div class="BoxList">
<%= WriteTextBoxList()%>
</div>
</form>
</body>
a questo punto puoi scrivere un .css
.BoxList
{
border:1px solid green;
height:300px;
margin:10px auto 10px auto;
position: relative;
width:500px;
}
.myBox
{
width:100px;
margin-left:10px;
}
in questo esempio gli input sono dentro al pannello, uno sotto l' altro a 10px del bordo sinistro.
Oppure nel codice puoi impostare delle posizioni assolute per ognuno:
protected string WriteTextBoxList()
{
int textBoxCount = 5; // imposti questo valore leggendo qualche condizione
StringBuilder sb = new StringBuilder();
for (int i = 0; i < textBoxCount; ++i)
{
sb.AppendLine("<input type='text' name='Box_" + i +
"' + class='myBox' style='left:" + i * 10 +
"px; top:" + i * 30 + "px; '>");
}
return sb.ToString();
}
Non è molto leggibile ma funziona, (nel css aggiungi l' absolute):
.BoxList
{
border:1px solid green;
height:300px;
margin:10px auto 10px auto;
position: relative;
width:500px;
}
.myBox
{
width:100px;
position:asbolute;
}
In questo esempio gli input sono disposti in diagonale.