35 messaggi dal 31 marzo 2010
Ciao a tutti, sto realizzando un applicazione mvc4 in cui ho un catalogo di oggetti paginato da visualizzare.
Utilizzando un approccio ajax alla paginazione ottengo il risultato che tutto funziona ma purtroppo l'url in query string giustamente non viene modificato.
Sul tipo di applicazione che sto sviluppando, questo può essere un problema in quanto mi piacerebbe far in modo che partendo da un url opportunamente parametrizzato venisse caricata la giusta pagina sempre tramite ajax però.
Ho cercato in giro ma non sono riuscito a trovare esempi di codice che eseguono paginazione e vanno a modificare anche i relativi parametri sulla querystring.

Come posso fare? Grazie a tutti
Modificato da sonnicolo il 29 gennaio 2014 14.27 -
420 messaggi dal 23 marzo 2010
Contributi
http://www.joe-stevens.com/2011/05/30/asp-net-mvc-simple-server-side-ajax-paging-using-jquery/

Vedi se può esserti utile

ciao
35 messaggi dal 31 marzo 2010
Ti ringrazio per il link purtroppo li spiegano solo uno degli approcci ad una normale paginazione ajax.

Il mio intento era di adottare questo tipo di paginazione che però avesse anche ripercussione poi sulla query string.

In modo che incollando un url nel browser, l'applicazione porti l'utente alla pagina richiesta.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

sonnicolo ha scritto:

Il mio intento era di adottare questo tipo di paginazione che però avesse anche ripercussione poi sulla query string.

Quello che ti serve è esattamente la history API di HTML5, che si usa soprattutto nelle Single Page Applications. La trovi descritta in questo articolo di Andrea Colaci.
http://www.html5italia.com/script/46/Gestire-Navigazione-Browser-History-API-HTML5.aspx

In pratica, quando avvii la richiesta ajax, invochi il metodo window.history.pushState per modificare l'url che appare nella barra degli indirizzi. Decidi tu come modificarlo, sappi però che dovrai essere in grado di mostrare la stessa pagina quando quell'URL viene incollato da un altro utente in una nuova finestra.

Sii consapevole che la history API non è supportata in vecchie versioni di IE. Qui puoi vedere una tabella delle compatibilità.
http://caniuse.com/history

Per fare in modo che anche gli utenti di IE9 (o precedenti) abbiano la stessa esperienza d'uso, non ricorrere alla history API nuda e cruda, ma usa la libreria history.js che, se necessario, si avvale dell'evento hashchange.

Se per qualche motivo non volessi ricorrere alla history API o a librerie esterne, usa tu stesso dell'evento hashchange, come vedi in questo esempio. E' molto semplice, richiede pochissime righe di codice.
http://jsfiddle.net/4ppe7/2/

ciao,
Moreno
Modificato da BrightSoul il 31 gennaio 2014 20.48 -

Enjoy learning and just keep making

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.