12 messaggi dal 31 maggio 2007
Spiego, ho una gridview associata ad un ObjectDataSource. La gridview è di tipo modificabile inline. Tutto funziona benone con le operazioni crud. Quando clicco sul button con CommandName="Update" viene chiamato il mio metodo update(myEntity obj) che contiene i dati inseriti dall'utente. Tutto bello e perfetto. Ora il mio cliente mi ha chiesto di aggiungere ai tasti Modifica e Cancella anche una serie di bottoni ognuno dei quali fa operazioni specifiche. Ora sto uscendo pazzo! Ho trovato come unico modo quello di usare l'evento onRowCommand per intercettare il tasto cliccato e usando il commandArgument per il recupero id della riga. Ok ma a me serve Entity con i dati dell'utente. La griglia è molto sofisticata e quasi tutta un template. La cosa funziona se cerco ogni control con il FindControl però così è un lavoro lunghissimo! Ma nn c'è un evento o qualcosa che mi restituisce, come per le operazioni crud, un oggetti in output tipizzato? Ho provato a mettere a tutti i miei bottoni il commandName Update e infatti passa dal metodo Update e mi restituisce l' Entity ma............ non so quale tasto è stato cliccato
P.S. purtroppo il mio cliente ha installato asp 2.0 e nn ne vuol sapere di passare alle versioni successive, per cui la soluzione deve essere compatibile con questa versione.
grazie
baumanto wrote:
La cosa funziona se cerco ogni control con il
FindControl però così è un lavoro lunghissimo! Ma nn c'è un evento o qualcosa che mi restituisce, come per le operazioni crud, un oggetti in output tipizzato?

credo non ci sia molto da fare, perché in quella fase del PostBack il binding non c'è e quindi non sono stati caricati i dati. fai prima a ricaricarli, altro veramente non mi viene in mente
.

Daniele Bochicchio (ASPItalia.com)
I libri su HTML5, WP7, ASP.NET 4.0, VB 2010, C# 4, Entity Framework
Senior Software Architect @ 5DLabs.it
12 messaggi dal 31 maggio 2007
ok, facciamo un ragionamento. Nell' objectDataSource vengono mappate le operazioni CRUD che sono collegate al command name, come sappiamo inset/update/delete sono command name che chiamo un metodo scelto da noi e ci restituiscono l'oggetto modificato dalla griglia. Ora il funzionamento è appunto clicco su una riga, il framwork sa quale, il framwork legge il command name ad esempio update e chiama il metodo mappato sull' object datasource. La mappatura è anche visibile nel tag

InsertMethod="DynamicInsert"
SelectMethod="DynamicSelectAll"
UpdateMethod="DynamicUpdate"
DeleteMethod="DynamicDelete"

TypeName="ValidatoreFLussiNew.Adapter.AdapterFL_DETTAGLIO_PRATICHE_FAMIGLIE"

Quindi a mio avviso esisterà o un metedo o un evento nel ciclo di vita della pagina dove sia estendibile questo paradigma ad un generico command

il mio obiettivo è arrivare a questo
Command1Method="DynamicCommand1"
Command2Method="DynamicCommand2"
Command3Method="DynamicCommand3"

dove Command1,Command2,Command3 sono i commandName del bottone.

grazie

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.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC