Quello che tu chiedi si può fare in più modi, tutti validi. Io te ne illustro uno.
Nella pagina, dove vuoi che compaia la tabella, metti un literal:
codice:
<asp:Literal ID="Literal1" runat="server" EnableViewState="false"></asp:Literal>
NOTA: EnableViewState="false" da mettere sempre quando possibile
Nell'evento load metti:
codice:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
BindData()
End If
End Sub
e il metodo Binddata è:
codice:
Protected Sub BindData()
Dim dv As DataView = msole.GetDataView(gl.StringaConnessioneTest, "select * from campi")
Dim sb As New StringBuilder()
sb.Append("<table>")
sb.Append("<tr>")
sb.Append("<td>id</td>")
sb.Append("<td>memo</td>")
sb.Append("</tr>")
For i As Integer = 0 To dv.Count - 1
sb.Append("<tr>")
sb.Append(String.Format("<td>{0}</td>", dv(i)("id").ToString))
sb.Append(String.Format("<td><textarea id=""TextArea_{0}"" name=""TextArea_{0}"" cols=""40"" rows=""4"">{1}</textarea></td>", l.NullToString(dv(i)("id")), l.NullToString(dv(i)("memo"))))
sb.Append("</tr>")
Next
sb.Append("</table>")
Me.Literal1.Text = sb.ToString
End Sub
Dim dv As DataView = msole.GetDataView(gl.StringaConnessioneTest, "select * from campi") ==> crea un DatView leggendo i dati da una tabella access, un id e un campo memo
Dim sb As New StringBuilder() ==> definisce un buffer string; la sua manipolazione è molto veloce
Il textarea ha (l'id non è indispensabile) un name composto da TextArea_ + l'ID del record
alla fine, l'html composto lo metti nel literal
Me.Literal1.Text = sb.ToString
Per recuperare i dati, niente di più semplice. I dati vengono spediti via post, perciò basta ricordare che System.Web.HttpContext.Current.Request.Form.AllKey s contiene le chiavi ricevute.
Perciò fai un ciclo, per ogni chiave nell'insieme chiavi {se chiave inizia per "TextArea_" etc. etc
Non metto il codice ma non avrai difficoltà (spero)
NOTA: nessuno dice che i controlli server non servano, anzi. Ma in alcuni scenari è impossibile utilizzarli ed è meglio fare le cose a mano. Per esempio, se volessi aggiungere una riga alla tabella, lato client, con javascript è semplicissimo. Recuperare i dati nel server si può fare però solo come ti ho mostrato perchè i cosidetti controlli server non vanno bene.