Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002

    Postback dati su altra pagina

    Ciao a tutti, vorrei un consiglio.
    Allora ho una pagina asp.net con una griglia dove faccio delle ricerche e mi ritornano i risultati.Questa griglia contiene dei link a delle pagine di dettaglio record, con la possibilità di navigare tra i record della griglia.

    Ora vorrei sapere come fare a passare alla pagina chiamata tutto il resulset della griglia.

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Se ho capito bene tu avresti una tabella diciamo di 10 record.

    Dalla pagina principale puoi applicare una serie di filtri e diciamo questa tabella (visualizzata nel grid) la porti a 5 record.

    Poi clicchi su una delle voci diciamo la 3 ed entri in una nuova pagina con i dettagli.

    Da questa pagina vorresti poter navigare negli altri dettagli cun un sistema di avanti e indietro ma solo sui 5 che sono stati filtrati in precedenza e quindi avere un link avanti che ti porta al dettaglio 4 e uno indietro che ti porta al dettaglio 2?

  3. #3
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Si esattissimo mi hai capito al volo !!!
    Avevo pensato al crosspostback che ne dici ??.
    creo una proprietà pubblica sulla pagina master che vada a leggere dall' sql datasource un datatable cosi da riportarmi i record sulla pagina chiamata.

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    non funziona, tieni sempre a mente che http è un protocollo stateless perciò per impostare quello che faccia da "proprietà pubblica" devi utilizzare una delle tecniche di mantenimento dello stato di aps.net: Session, querystring, Viewstate...

    Ammesso che sia possibile serializzare un intero datatable nel viewstate (o un hiddenfield) non oso immaginare che tipo di pagina html verrebbe renderizzata. E' una strada che scarterei a priori.

    PErciò potremmo pensare di utilizzare la session. Il datatable è serializzabile perciò lo puoi " tranquillamente" memorizzare nella session e prenderlo quando ti pare. I problemi qui sono le prestazioni (in uno scenario di hosting condiviso non credo tu possa "tranquillamente" occupare tutta quella memoria per ogni sessione) e la natura volatile della sessione (alla quale puoi ovviare).

    Io invece utilizzerei un altro sistema: Nella pagina dei dettagli mi porterei appresso (con la session o le querystring) invece che tutto il datatable, solamente le variabili che fanno da filtro ed utilizzarle nella pagina dei dettagli per rifare li la query sql. Se per esempio nella pagina principale tu hai due dropdown che fanno da filtro (es. anno e categoria) allora ogni volta che queste cambiano, tra le altre cose, le memorizzi anche in session. Nella pagina dei dettagli le leggi, rifai la query, ti tiri fuori il resulset filtrato, controlli se c'è un precedente o un successivo, eventualmente se ci sono attivi e popoli i due controlli hyperlink e il gioco è fatto. Se fai tutto nell'onload puoi anche evitare di usare i datasource qui.
    Questo sistema si presta ad essere ottimizzato in base alle tue capacità e attenzione. Occhio, per esempio, a fare una query "ristretta", inutile titrare fuori un resultset intero se per sapere precedente e successivo hai solo bisogno dell'id...

  5. #5
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Non conosco il numero dei records con cui hai a che fare ma hai pensato ad ottenere, nella pagina B, una griglia con -tutti- i dettagli dei record filtrati ed un ulteriore filtro su essa con il metodo RowFilter del Dataview ?

    Poi potresti cambiare quest'ultimo (il secondo filtro) costruendolo diversamente ad ogni click dei bottoncini 'avanti' ed 'indietro'.

    -----
    Oppure semplicemente visualizzare, nella pagina B, una seconda griglia con gli stessi record della pagina A, ma esplosi (ripeto, non so con quanti records hai a che fare).

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Grazie degli esempi.
    Per adesso ho trovato questa soluzione.
    Nella pagina A faccio la query con i dovuti filtri e riempio un datagrid che contine un bottone che permette di fare il postbackurl.

    Nella pagina B ottengo un riferimento all' sqldatasource della pagina A, rifaccio fare la query e ottengo un dataview nella pagina B da poter utilizzare per i miei scopi.
    Potrei anche ciclare sulle righe dell griglia, ma avendo una dataview posso fare altri filtri o altre belle cosette.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.