Usa un placeholder (contenitore di altri controlli) nella parte ASPX:
codice:
<asp:PlaceHolder ID="ph" runat="server"></asp:PlaceHolder>
<asp:Button ID="mail_btn" runat="server" Text="invia mail" OnClick="invia_mail" />
Nel code-behind (.VB) invece, nella sub Page_Load (deve passarci ad ogni postback), un ciclo sulle stringhe estratte dalla Split:
codice:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim file_nome() As String
Dim i As Integer
Session("file_upload") = "stringa1__stringa2__stringa3__stringa4"
file_nome = Split(Session("file_upload"), "__")
ph.Controls.Clear()
For i = 0 To UBound(file_nome)
Dim tb As New TextBox
tb.ID = "tb" & i
tb.Text = file_nome(i)
ph.Controls.Add(tb)
Next
End Sub
Sub invia_mail()
'
End sub
Attenzione al ciclo, gli elementi dell'array partono dalla posizione 0.