47 messaggi dal 09 luglio 2007
Ciao,
ho uno user control con una gridview al cui interno c'è una lista di checkbox (senza autopostback ma con js che controlla lo stato), un header dove c'è una checkbox che sel/deseleziona tutte (con autopostback) e un footer con un button che lancia un evento gestito nella pagina host.

Le checkbox modificano, via js, anche lo stato della checkbox dell'header se sono tutte selezionate o meno.
Quando clicco sul pulsante aggiungi ogni tanto mi da il famigerato errore:
Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.

Dopo varie verifiche ho capito che l'errore me lo da se prima di cliccare sul pulsante Aggiungi, ho cliccato su una checkbox e, di conseguenza, ho modificato lo stato di quella nell'header.
In questo caso il pulsante aggiungi fa postback, ma prima di lanciare l'evento a lui associato, scatta l'evento del checked_changed, poi il rowdatabound e alla fine di questo va in errore prima di lanciare l'evento aggiungi...
Spero di essermi spiegato...

Soluzioni?? E' come se si arrabbiasse perché il postback lo genera un pulsante ma l'evento è di un altro, è possibile??

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)
provato usando ClientScriptManager.RegisterForEventValidation? come suggerisce il messaggio d'errore.

in pratica non si aspetta un evento da quei controlli e pre prevenire possibili attacchi solleva un eccezione.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 luglio 2007
Sinceramente non ho capito in pratica quando e la sintassi con cui utilizzarlo...

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)
queste CheckBox sono aggiunte runtime o in modo dichiarativo alla GridView?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 luglio 2007
Ogni record ha la sua checkbox che fa parte dell'item template...

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)
47 messaggi dal 09 luglio 2007
Sto provando ad utilizzare quel metodo.
Per adesso l'ho messo nel RowDataBound, ma mi dice che può essere utilizzato solo nel Render().
Il problema è che la gridview ha un evento PreRender, non Render e, soprattutto, devo utilizzare quel metodo passandogli lo UniqueId della CheckBox nell'headerTemplate (almeno credo)...
Come faccio, non credo che nel preRender l'header sia già creato...

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.