Ciao a tutti, avrei bisogno di capire una cosa.... ho un repeater che mi permette di visualizzare i dati del database in modo editabile in un textbox, con affianco un pulsante per fare l'update dei dati , però non riesco a fare l'update, perchè tra tutte le prove che ho fatto , o mi riporta la modifica di un record su tutti gli altri o non fa niente... nessuna eccezzione o errore in compilazione....

la pagina aspx è questa
<asp:Repeater ID="myRepeater" runat="server" OnItemCommand="onUpdate">
<HeaderTemplate>
<table width="90%" border=1>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:Label ID="idPage" Text='<%# DataBinder.Eval(Container.DataItem,"idPage") %>' Font-Bold="true" runat="server" /></td>
<td><asp:TextBox ID="titolo" TextMode="SingleLine" Text='<%# DataBinder.Eval(Container.DataItem,"titolo") %>' Enabled="false" Font-Bold="true" runat="server" /></td>
<td><asp:TextBox ID="contenuto" TextMode="MultiLine" Columns="50" Rows="10" Text='<%# DataBinder.Eval(Container.DataItem,"contenuto") %>' runat="server" /></td>
<td><asp:button id="btnAggiorna" runat="server" text="aggiorna" /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>

mentre il codice c# è il seguente



OleDbDataReader getPage()
{
String cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("mdb-database/gest_sito.mdb");
OleDbConnection odbcn = new OleDbConnection(cnn);
OleDbCommand odbcmd = new OleDbCommand("SELECT idPage, contenuto, titolo FROM pagine", odbcn);
odbcn.Open();
OleDbDataReader read = odbcmd.ExecuteReader(CommandBehavior.CloseConnecti on);
return read;
}

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
myRepeater.DataSource = getPage();
myRepeater.DataBind();
}
}

protected void updatePage(String idPage, String titolo, String contenuto)
{
String cnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("mdb-database/gest_sito.mdb");
OleDbConnection odbcn = new OleDbConnection(cnn);
OleDbCommand odbcmd = new OleDbCommand("UPDATE pagine SET titolo = ?, contenuto= ? WHERE idPage =?" , odbcn);
odbcmd.Parameters.Add(new OleDbParameter("@idPage", idPage));
odbcmd.Parameters.Add(new OleDbParameter("@titolo", titolo));
odbcmd.Parameters.Add(new OleDbParameter("@contenuto", contenuto));
odbcn.Open();
odbcmd.ExecuteNonQuery();
odbcn.Close();

}

protected void onUpdate(object source, RepeaterCommandEventArgs e)
{
String id = ((Label)e.Item.FindControl("idPage")).Text;
String tit = ((TextBox)e.Item.FindControl("titolo")).Text;
String cont = ((TextBox)e.Item.FindControl("contenuto")).Text;
updatePage(id, tit, cont);
Response.Redirect("pagina.aspx");

}


Qualcuno sa darmi qualche consiglio del perchè non funziona?
Ciao .... e grazie