Non ho mai usato il gridview, ma questo esempio mi pare funzioni (è in basic, a te la traduzione
)
pagina aspx
codice:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="prove_a" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Pagina senza titolo</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" /></div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField HeaderText="id" DataField="id" />
<asp:TemplateField HeaderText="testo">
<ItemTemplate>
<asp:TextBox ID="testo" runat="server" Text='<%#eval("testo") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
pagina di codice
codice:
Option Strict On
Partial Class prove_a
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
libreria.DataBind(Me.GridView1, StringaConnessioneTest, "select * from campi order by [id]", New String() {"id"})
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
PrintLn(Me.GridView1.Columns.Count, "numero colonne") '2 colonne
PrintLn(Me.GridView1.Rows.Count, "numero di righe") '10 righe
PrintLn()
For Each row As GridViewRow In Me.GridView1.Rows
PrintLn(row.Cells(0).Text, DirectCast(row.Cells(1).Controls(1), TextBox).Text)
Next
End Sub
End Class
attenzione che il testo del textbox recuperato è quello digitato dall'utente