questo codice sembra che vada. Ho dovuto un poco adattarlo per il mio database:
codice:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
this.bindData();
}
protected void onUpdate(object source, RepeaterCommandEventArgs e)
{
Repeater r = (Repeater)source;
if (e.CommandName == "aggiorna")
{
int id = int.Parse(e.CommandArgument.ToString());
string contenuto = ((TextBox)e.Item.FindControl("contenuto")).Text;
updatePage(id, contenuto);
this.bindData();
}
}
void bindData()
{
ModuloWeb.DataBind(this.myRepeater, MioModulo.StringaConnessioneTest, "SELECT * FROM CAMPI");
}
protected void updatePage(int id, String contenuto)
{
OleDbConnection connessione = new OleDbConnection(MioModulo.StringaConnessioneTest);
connessione.Open();
OleDbCommand comando = connessione.CreateCommand();
comando.CommandText = "UPDATE [CAMPI] SET [MEMO] = ? WHERE [ID] = ? ";
comando.Parameters.Clear();
comando.Parameters.Add("memo", OleDbType.VarChar, 50).Value = ModuloWeb.StringNullToDBNull(contenuto); ;
comando.Parameters.Add("id", OleDbType.Integer).Value = id;
comando.ExecuteNonQuery();
connessione.Close();
}
</script>
<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:Repeater ID="myRepeater" runat="server" OnItemCommand="onUpdate" EnableViewState="true">
<HeaderTemplate>
<table width="90%" border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="idPage" Text='<%# DataBinder.Eval(Container.DataItem,"id") %>' Font-Bold="true" runat="server" /></td>
<td>
<asp:TextBox ID="titolo" TextMode="SingleLine" Text='<%# DataBinder.Eval(Container.DataItem,"testo") %>' Enabled="false" Font-Bold="true" runat="server" /></td>
<td>
<asp:TextBox ID="contenuto" TextMode="MultiLine" Columns="50" Rows="10" Text='<%# DataBinder.Eval(Container.DataItem,"memo") %>' runat="server" /></td>
<td>
<asp:Button ID="btnAggiorna" runat="server" Text="aggiorna" CommandName="aggiorna" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"id") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>