Avatar billede karsten_larsen Praktikant
14. februar 2007 - 12:01 Der er 6 kommentarer og
1 løsning

Visning af multiview via session

Prøver at koble multiview og session sammen, således at en bestemt side vises udfra sessions værdien.

Men når jeg trykker history back så ændrer session sig og de tidligere views bliver vist. Det er ikke meningen.

Bruger jeg session alene, så forsvinder session værdien ikke og jeg kan bruge den til vise bestemte lbl, panel etc. afhængig af sessions værdi.

Men det ville være lidt smart, hvis man kunne bruge multiview til det samme.

Nemlig at uanset hvor mange gange man trykker tilbage vises det samme view fra mulitiview - nemlig udfra den værdi som er i session.

Så hvordan gøres det?

Her følger min kode:

Siden er opbygget med view med hver sin knap som forøger værdien i en session.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
        Response.Cache.SetCacheability(HttpCacheability.NoCache)
        Response.Cache.SetNoStore()

        If Page.IsPostBack = False Then
            Session("view") = 0
            MultiView1.ActiveViewIndex = Session("view")
            Response.Write("Session : " & Session("view"))
        End If

        If Page.IsPostBack = True Then
            MultiView1.ActiveViewIndex = Session("view")
        End If

    End Sub

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Page.IsPostBack = True Then
            Session("view") = 1
            MultiView1.ActiveViewIndex = Session("view")
            Response.Write("Session : " & Session("view"))
        End If
    End Sub

også flere knapper

???:-) karsten_larsen
Avatar billede jokkejensen Novice
14. februar 2007 - 12:09 #1
offtopic, kan søgemaskiner indexere noget ud fra Session. Så du skal ikke forvente at få høj rangering i søgemaskiner.

Har du et link til løsningen ?
Avatar billede karsten_larsen Praktikant
14. februar 2007 - 12:12 #2
næhe - det ligger ikke fremme, finder lige et domain og ligger det op.
Avatar billede dr_chaos Nybegynder
14. februar 2007 - 12:22 #3
Det er fordi at sessionen gemmer en værdi.
Denne værdi ændres ikke til tidligere værdier selv om du trykker back.
Du kan ikke gøre det på den måde du gerne vil.
Jeg vil nok anbefale dig at lade være med at bruge session. Men bruge et hidden field og så fjerne  Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
        Response.Cache.SetCacheability(HttpCacheability.NoCache)
        Response.Cache.SetNoStore()
Medmindre det gør tingene uhensigtmæssige for dig.
Avatar billede karsten_larsen Praktikant
14. februar 2007 - 12:23 #4
Prøv at se her http://www.phono-chain.com/
Avatar billede karsten_larsen Praktikant
14. februar 2007 - 12:31 #5
dr_chaos -> session bruges til UserId, så det er jeg ikke meget for at putte i et hidden field, og i dette tilfælde til at holde styr på, hvad som skal vises.

Er det helt umuligt at holde fast på et View ved history back?
Avatar billede karsten_larsen Praktikant
14. februar 2007 - 13:08 #6
så lykkedes det at holde fast i view alt efter sessions værdi.

        If Page.IsPostBack = True Then
            Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1))
            Response.Cache.SetCacheability(HttpCacheability.NoCache)
            Response.Cache.SetNoStore()

            If Session("Id") = 0 Then
                MultiView1.ActiveViewIndex = 0
            End If
            If Session("Id") = 1 Then
                MultiView1.ActiveViewIndex = 1
            End If
            If Session("Id") = 2 Then
                MultiView1.ActiveViewIndex = 2
            End If
            If Session("Id") = 3 Then
                MultiView1.ActiveViewIndex = 3
            End If
            If Session("Id") > 3 Then
                MultiView1.ActiveViewIndex = 4
            End If

            Response.Write("Session : " & Session("Id"))
        End If

og

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Session("Id") = Session("Id") + 1
    End Sub
Avatar billede karsten_larsen Praktikant
14. februar 2007 - 13:09 #7
:-) karsten_larsen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester