Ik heb een pagina (P1) met daarin een gridview . Deze gridview is sorteerbaar en gepagineerd. In de gridview zit een column met commandbuttons die doorlinken naar een andere pagina (Pagina 2) die alle verdere details van dat record weergeeft. So far so good.
Stel ik ben op P2 gekomen door direct na het openen van P1 op de button van een row in de gridview te klikken. Als ik vervolgens op de back-button van de browser klik, werkt alles prima: ik krijg P1 gewoon te zien.
Nu het volgende: Ik doe eerst een of meerdere postbacks op P1 (sorteren van de gridview, andere gridviewpagina selecteren) en klik dan pas op een button van een row in de gridview om naar P2 te gaan. De back-button op P2 levert dan een fraaie Page expired melding op. Een refresh (F5) zorgt er dan voor dat de pagina wel correct wordt getoond.
Extra info: de site draait middels een SSL-verbinding (https), ik heb her en der wat teruggevonden dat dat ook van invloed kan zijn. De oplossingen hieronder werken echter ook niet met een 'standaard' http-verbinding.
Ik heb -uiteraard- flink lopen zoeken, maar tot op heden heb ik geen oplossing voor dit probleem kunnen vinden. De mogelijke oplossingen die ik gevonden en geprobeerd heb, maar niet tot het gewenste resultaat leiden:
Page.SmartNavigation is obsolete in 2.0 en zorgt ervoor dat de css van het postback gedeelte in P1 niet geladen wordt, het switchen naar P2 geeft zelfs een overflow error in de browser.
Ik ben me er van bewust de page-expired standaard gedrag is van de browser bij het teruggaan naar een pagina die een "post" naar zichzelf heeft gedaan. Ik ben dus op zoek naar een workaround. Die workaround mag ook bestaan uit het 'verwijderen' van de postback pagina's uit de browsergeschiedenis.
Iemand een idee hoe ik dit kan realiseren?
Stel ik ben op P2 gekomen door direct na het openen van P1 op de button van een row in de gridview te klikken. Als ik vervolgens op de back-button van de browser klik, werkt alles prima: ik krijg P1 gewoon te zien.
Nu het volgende: Ik doe eerst een of meerdere postbacks op P1 (sorteren van de gridview, andere gridviewpagina selecteren) en klik dan pas op een button van een row in de gridview om naar P2 te gaan. De back-button op P2 levert dan een fraaie Page expired melding op. Een refresh (F5) zorgt er dan voor dat de pagina wel correct wordt getoond.
Extra info: de site draait middels een SSL-verbinding (https), ik heb her en der wat teruggevonden dat dat ook van invloed kan zijn. De oplossingen hieronder werken echter ook niet met een 'standaard' http-verbinding.
Ik heb -uiteraard- flink lopen zoeken, maar tot op heden heb ik geen oplossing voor dit probleem kunnen vinden. De mogelijke oplossingen die ik gevonden en geprobeerd heb, maar niet tot het gewenste resultaat leiden:
Visual Basic .NET:
Geen effect1
2
| Response.Cache.SetAllowResponseInBrowserHistory(False) Response.Cache.SetCacheability(HttpCacheability.Server) |
Visual Basic .NET:
1
| Page.SmartNavigation = True |
Page.SmartNavigation is obsolete in 2.0 en zorgt ervoor dat de css van het postback gedeelte in P1 niet geladen wordt, het switchen naar P2 geeft zelfs een overflow error in de browser.
Ik ben me er van bewust de page-expired standaard gedrag is van de browser bij het teruggaan naar een pagina die een "post" naar zichzelf heeft gedaan. Ik ben dus op zoek naar een workaround. Die workaround mag ook bestaan uit het 'verwijderen' van de postback pagina's uit de browsergeschiedenis.
Iemand een idee hoe ik dit kan realiseren?
[ Voor 4% gewijzigd door sopsop op 05-09-2007 15:47 ]