Sitter och "labbar" lite med en webbsida som både kör Client Side Callback (typ AJAX) och Postbacks. Testa detta: Om du kör Atlas såg jag nu att det faktiskt finns en timerkontroll som du kanske kan använda.Litet småproblem med Client Side Callbak (AJAX) och Postback.
Det funkar ganska precis som jag tänker och vill (om man håller tungan rätt i mun).
Ett litet problem dock. Vid en knapptryckning triggas ett JavaScript med en setTimeout-loop och en "Client Side Callback" körs med ett visst intervall (typ var 5:e sekund). Dvs. en liten del av sidan uppdateras var 5:e sekund med server-side data. Inga problem så länge.
Det som förstör är om en Postback måste genomföras. Då laddas ju sidan om på nytt och därmed alla JavaScipt. Framförallt den client-side funktion/knapptryckning som startar och stoppar min JavaScript setTimeout funktion.
Kanske ett enkalt problem att lösa (hoppas jag). Men hur får man min setTimeout-loop att fortsätta hämta data var 5:e sekund även efter en Postback?
Skulle dey kunna funka med att tex. i if (!IsPostBack) {} göra nått smart?
Cookies eller Session för att flagga om setTimeout-loopen är aktiv eller inte?
På något sätt måste ett JavaScript infogas/laddas någonstans efter Postback'en. Antar jag.Sv: Litet småproblem med Client Side Callbak (AJAX) och Postback.
1 lägg till en htmltagg: <input type=hidden id=TimerStarted name=TimerStarted value="false"> på sidan.
2 När du startar din timerfunktion, sätt även TimerStarted-taggen's value till true. (getElementByID)
3 Vid postbacks page_load kollar du
if request("TimerStarted") = "true" then
RegisterClientStartupScript("javascript som startar upp timern igen vid clientpageonload")
end ifSv:Litet småproblem med Client Side Callbak (AJAX) och Postback.