Even een situatieschets:
Ik heb een vrij lang formulier dat onderaan 2 afhankelijke dropdownlists heeft: Plaats en Straat. Als Plaats wordt gewijzigd, vindt er een postback plaats waarin de inhoud van Straat wordt gewijzigd in de stratenlijst van de geselecteerde plaats.
Door deze postback(s) komt de user echter weer terug bovenaan de pagina. Een kleinigheidje, maar wel iets dat ontzettend irritant is. Nu wou ik in dit postback event een #link toevoegen aan de url, waar geen mogelijkheid voor leek te zijn. Let op: een Redirect is geen oplossing omdat dan de wijziging van de inhoud van Plaats en Straat ongedaan wordt gemaakt (de pagina wordt weer opnieuw ingeladen).
Dus bedacht ik om gewoon standaard #link toe te voegen aan de URL in alle hyperlinks, en diverse <a name="link" /> htmlcontrols op de pagina te zetten die standaard onzichtbaar zijn, maar wanneer nodig wordt de juiste op visible = true gezet.
Helaas haalt de browser (of ASP.NET) het #link gedeelte weg uit de URL bij een postback, waardoor dit dus alsnog niet werkt.
Ook pogingen om het action attribuut van het server form te veranderen liepen op niets uit; de #link toevoeging wordt er, lijkt het, door de browser uitgesloopt. Het action attribuut van het server form kan ik ook niet handmatig instellen omdat er GET variabelen in de URL zitten die telkens veranderen.
Nu heb ik met javascript dmv. location.hash = '#link' IE zover kunnen krijgen dat ie naar de goede positie springt. In FF wordt het #link gedeelte wel aan de URL toegevoegd, maar de pagina springt niet vanzelf naar de anchor toe.
Mijn vraag:
a) is er een manier om te zorgen dat in FF alsnog naar de anchor wordt gesprongen?
b) of is er een betere manier om dit voor elkaar te krijgen, het liefst zonder javascript, bijv. een serverside oplossing?
Ik heb een vrij lang formulier dat onderaan 2 afhankelijke dropdownlists heeft: Plaats en Straat. Als Plaats wordt gewijzigd, vindt er een postback plaats waarin de inhoud van Straat wordt gewijzigd in de stratenlijst van de geselecteerde plaats.
Door deze postback(s) komt de user echter weer terug bovenaan de pagina. Een kleinigheidje, maar wel iets dat ontzettend irritant is. Nu wou ik in dit postback event een #link toevoegen aan de url, waar geen mogelijkheid voor leek te zijn. Let op: een Redirect is geen oplossing omdat dan de wijziging van de inhoud van Plaats en Straat ongedaan wordt gemaakt (de pagina wordt weer opnieuw ingeladen).
Dus bedacht ik om gewoon standaard #link toe te voegen aan de URL in alle hyperlinks, en diverse <a name="link" /> htmlcontrols op de pagina te zetten die standaard onzichtbaar zijn, maar wanneer nodig wordt de juiste op visible = true gezet.
Helaas haalt de browser (of ASP.NET) het #link gedeelte weg uit de URL bij een postback, waardoor dit dus alsnog niet werkt.
Ook pogingen om het action attribuut van het server form te veranderen liepen op niets uit; de #link toevoeging wordt er, lijkt het, door de browser uitgesloopt. Het action attribuut van het server form kan ik ook niet handmatig instellen omdat er GET variabelen in de URL zitten die telkens veranderen.
Nu heb ik met javascript dmv. location.hash = '#link' IE zover kunnen krijgen dat ie naar de goede positie springt. In FF wordt het #link gedeelte wel aan de URL toegevoegd, maar de pagina springt niet vanzelf naar de anchor toe.
Mijn vraag:
a) is er een manier om te zorgen dat in FF alsnog naar de anchor wordt gesprongen?
b) of is er een betere manier om dit voor elkaar te krijgen, het liefst zonder javascript, bijv. een serverside oplossing?
Certified smart block developer op de agile darkchain stack. PM voor info.