Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Argomento di postback o callback non valido quando si scatena l'evento...
lunedì 16 ottobre 2017 - 16.02
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
.NET 4.0
|
Visual Studio Express
erizzi
Profilo
| Newbie
1
messaggi | Data Invio:
lun 16 ott 2017 - 16:02
Buongiorno,
Sto lavorando su una gridview in asp.net,gestendo gli eventi di editing, deleting, cancelediting non ho problemi, ma quando cerco di modificare una riga l'evento rowupdating non si verifica (non entra nel metodo che gestisce l'evento) e mi esce un messaggio di errore come il seguente:
"Argomento di postback o callback non valido. La convalida degli eventi viene abilitata mediante <pages enableEventValidation="true"/> nella configurazione oppure mediante <%@ Page EnableEventValidation="true" %> in una pagina. Per motivi di sicurezza, viene verificato che gli argomenti con cui eseguire il postback o il callback di eventi siano originati dal controllo server che ne aveva inizialmente eseguito il rendering. Se i dati sono validi e previsti, utilizzare il metodo ClientScriptManager.RegisterForEventValidation per registrare i dati di postback o callback per la convalida"
La grid view è definita in questo modo:
<asp:GridView CssClass="table table-bordered table-hover" runat="server" ID="grvApparati" DataKeyNames="ID" AutoGenerateColumns="false" OnRowEditing="grvApparati_RowEditing" OnRowUpdating="grvApparati_RowUpdating" OnRowDeleting="grvApparati_RowDeleting" OnRowCancelingEdit="grvApparati_RowCancelingEdit">
<Columns>
<asp:CommandField ButtonType="Image" ShowEditButton="True" EditImageUrl="~/Images/edit.png" CancelImageUrl="~/Images/cancel.png" UpdateImageUrl="~/Images/update.png" ></asp:CommandField>
<asp:CommandField ButtonType="Image" ShowDeleteButton="true" DeleteImageUrl="~/Images/delete.png" />
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" ReadOnly="true"/>
<asp:BoundField DataField="c1" HeaderText="Tipo" SortExpression="Tipo" />
<asp:BoundField DataField="c2" HeaderText="Modello" SortExpression="Modello" />
<asp:BoundField DataField="c3" HeaderText="Descrizione" SortExpression="Descrizione" />
<asp:BoundField DataField="c4" HeaderText="IP Lan" SortExpression="IP Lan" />
<asp:BoundField DataField="c5" HeaderText="IP Pubblico" SortExpression="IP Pubblico" />
<asp:BoundField DataField="c6" HeaderText="Porta" SortExpression="Porta" />
<asp:BoundField DataField="c7" HeaderText="Rete Ass." SortExpression="Rete Ass." />
<asp:BoundField DataField="c8" HeaderText="User" SortExpression="User" />
<asp:BoundField DataField="c9" HeaderText="Password" SortExpression="Password"/>
<asp:BoundField DataField="c10" HeaderText="IP 1" SortExpression="IP 1" />
<asp:BoundField DataField="c11" HeaderText="IP 2" SortExpression="IP 2" />
<asp:BoundField DataField="c12" HeaderText="Wan 1" SortExpression="Wan 1" />
<asp:BoundField DataField="c13" HeaderText="Wan 2" SortExpression="Wan 2" />
<asp:BoundField DataField="c14" HeaderText="Wan 3" SortExpression="Wan 3" />
</Columns>
</asp:GridView>
il code behind:
protected void grvApparati_RowEditing(object sender, GridViewEditEventArgs e)
{
grvApparati.EditIndex = e.NewEditIndex;
}
protected void grvApparati_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int id = Convert.ToInt32(grvApparati.DataKeys[e.RowIndex].Value.ToString());
GridViewRow row = (GridViewRow)grvApparati.Rows[e.RowIndex];
TextBox c1 = (TextBox)row.Cells[1].Controls[0];
TextBox c2 = (TextBox)row.Cells[2].Controls[0];
TextBox c3 = (TextBox)row.Cells[3].Controls[0];
TextBox c4 = (TextBox)row.Cells[4].Controls[0];
TextBox c5 = (TextBox)row.Cells[5].Controls[0];
TextBox c6 = (TextBox)row.Cells[6].Controls[0];
TextBox c7 = (TextBox)row.Cells[7].Controls[0];
TextBox c8 = (TextBox)row.Cells[8].Controls[0];
TextBox c9 = (TextBox)row.Cells[9].Controls[0];
TextBox c10 = (TextBox)row.Cells[10].Controls[0];
TextBox c11 = (TextBox)row.Cells[11].Controls[0];
TextBox c12 = (TextBox)row.Cells[12].Controls[0];
TextBox c13 = (TextBox)row.Cells[13].Controls[0];
TextBox c14 = (TextBox)row.Cells[14].Controls[0];
grvApparati.EditIndex = -1;
con.Open();
SqlQuery = "UPDATE Tab1 SET c1 = '" + EncryptD.Encrypt(c1.Text) + "' AND " +
"c2 = '" + EncryptD.Encrypt(c2.Text) + "' AND " +
"c3 = '" + EncryptD.Encrypt(c3.Text) + "' AND " +
"c4 = '" + EncryptD.Encrypt(c4.Text) + "' AND " +
"c5 = '" + EncryptD.Encrypt(c5.Text) + "' AND " +
"c6 = '" + EncryptD.Encrypt(c6.Text) + "' AND " +
"c7 = '" + EncryptD.Encrypt(c7.Text) + "' AND " +
"c8 = '" + EncryptD.Encrypt(c8.Text) + "' AND " +
"c9 = '" + EncryptD.Encrypt(c9.Text) + "' AND " +
"c10 = '" + EncryptD.Encrypt(c10.Text) + "' AND " +
"c11 = '" + EncryptD.Encrypt(c11.Text) + "' AND " +
"c12 = '" + EncryptD.Encrypt(c12.Text) + "' AND " +
"c13 = '" + EncryptD.Encrypt(c13.Text) + "' AND " +
"c14 = '" + EncryptD.Encrypt(c14.Text) + "' WHERE ID = " + id;
SqlCommand cmd = new SqlCommand(SqlQuery, con);
cmd.ExecuteNonQuery();
con.Close();
Page_Load(sender, e);
}
protected void grvApparati_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
grvApparati.EditIndex = -1;
}
protected void grvApparati_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = Convert.ToInt32(grvApparati.DataKeys[e.RowIndex].Value.ToString());
con.Open();
SqlQuery = "DELETE FROM Tab1 WHERE ID = "+ id;
SqlCommand cmd = new SqlCommand(SqlQuery, con);
cmd.ExecuteNonQuery();
con.Close();
Page_Load(sender, e);
}
Ho provato ad aggiungere la proprietà enableEventValidation="true" nel tag pages nel web.config ma il problema rimane
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !