none
Návrat na předchozí stránku v ASP.NET

    Dotaz

  • Dobrý den,

    předem se omlouvám za možná hloupý dotaz, ale s ASP.NET teprve začínám...

    Mám stránku s výsledky vyhledávání v databázi a u každého záznamu odkaz na detaily, které se otevřou ve stejném okně. Na stránce s detailem mám tlačítko Zpět a nevím, jak zajistit stejnou funkčnost, jakou má tlačítko Zpět v prohlížeči. Tzn. po stisku tlačítka bna stránce s detailem bych se měl vrátit na předchozí stránku se stále zobrazenými výsledky hledání...mohl by mi, prosím, někdo poradit? Laboroval jsem s Response.Redirect, PreviousPage, ale nějak se nedaří...

     

    24. února 2011 9:43

Odpovědi

  • Pokud byste nechtěl spoléhat na nespolehlivý Back v browseru, který má problémy s formulářovými hodnotami, potom si musíte nějak do stránky detailu předat kontext vyhledávací stránky, z které odcházíte (např. v QueryStringu) a potom tlačítko Zpět musí zase tento kontext předat při přesměrování zpět vyhledávací stránek, která se podle něj musí zařídit.

    Např. tedy hledáte "test", takže odkaz na detail uděláte detail.aspx?id=16&PreviousSearch=test

    a na stránce detail.aspx uděláte tlačítko Zpět, které povede na hledej.aspx?Search=test

    (Samozřejmě lepší by bylo udělat si na to všechno nějaký sofistikovanější systém, kde si v URL budete předávat nějaký identifikátor kontextu a v nějakém uložišti na serveru (výjimečně třeba v Session) si budete držet dosavadní trasu uživatele spojenou s daným identifikátorem.)


    Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz
    29. března 2011 21:08
    Moderátor

Všechny reakce

  • Zkoušel jsi jednoduchý javascript?

    window.history.go(-1);


    Patrik
    23. března 2011 21:37
  • Pokud byste nechtěl spoléhat na nespolehlivý Back v browseru, který má problémy s formulářovými hodnotami, potom si musíte nějak do stránky detailu předat kontext vyhledávací stránky, z které odcházíte (např. v QueryStringu) a potom tlačítko Zpět musí zase tento kontext předat při přesměrování zpět vyhledávací stránek, která se podle něj musí zařídit.

    Např. tedy hledáte "test", takže odkaz na detail uděláte detail.aspx?id=16&PreviousSearch=test

    a na stránce detail.aspx uděláte tlačítko Zpět, které povede na hledej.aspx?Search=test

    (Samozřejmě lepší by bylo udělat si na to všechno nějaký sofistikovanější systém, kde si v URL budete předávat nějaký identifikátor kontextu a v nějakém uložišti na serveru (výjimečně třeba v Session) si budete držet dosavadní trasu uživatele spojenou s daným identifikátorem.)


    Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz
    29. března 2011 21:08
    Moderátor
  • Nešlo by to řešit pomocí Server.Transfer("*****.aspx")  ?
    8. října 2011 20:25