87 messaggi dal 26 maggio 2009
Ciao a tutti...

come da titolo dovrei verificare istantaneamente se un browser accetta o meno i cookie.

Sul sito di microsoft (http://msdn.microsoft.com/it-it/library/ms178194(v=vs.80).aspx ) c'è un ottimo esempio che riporto:

PRIMA PAGINA
Protected Sub Page_Load(ByVal sender As Object, _
        ByVal e As EventArgs) Handles Me.Load
    If Not Page.IsPostBack Then
        If Request.QueryString("AcceptsCookies") Is Nothing Then
            Response.Cookies("TestCookie").Value = "ok"
            Response.Cookies("TestCookie").Expires = _
                DateTime.Now.AddMinutes(1)
            Response.Redirect("TestForCookies.aspx?redirect=" & _
                Server.UrlEncode(Request.Url.ToString))
        Else
            Label1.Text = "Accept cookies = " & _
                Server.UrlEncode(Request.QueryString("AcceptsCookies"))
        End If
    End If
End Sub


SECONDA PAGINA
Sub Page_Load()
    Dim redirect As String = Request.QueryString("redirect")
    Dim acceptsCookies As String
    If Request.Cookies("TestCookie") Is Nothing Then
        acceptsCookies = "no"
    Else
        acceptsCookies = "yes"
        ' Delete test cookie.
        Response.Cookies("TestCookie").Expires = _
            DateTime.Now.AddDays(-1)
    End If
    Response.Redirect(redirect & "?AcceptsCookies=" & acceptsCookies, _
       True)
End Sub


A me servirebbe una cosa del genere però fatta con Request.Form e non con i Request.QueryString.

Ho tentato ma mi va in loop la pagina...continua a rimbalzare da una all'altra...

Grazie
Tommaso
87 messaggi dal 26 maggio 2009
NESSUNO RIESCE AD AIUTARMI...

io ho fatto questo

PRIMA PAGINA
    Public Sub Sondaggi_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        lblesito.Text = ""
        If Not Page.PreviousPage Is Nothing Then
            Dim SourceTextBox As TextBox
            SourceTextBox = CType(PreviousPage.FindControl("TextBox1"), TextBox)
            If Not SourceTextBox Is Nothing Then
                lblesito.Text = SourceTextBox.Text
            End If
        Else
            Response.Cookies("TestCookie").Value = "ok"
            Response.Cookies("TestCookie").Expires = DateTime.Now.AddMinutes(1)
            Server.Transfer("inc_testcookies.aspx", False)
        End If

    End Sub


SECONDA PAGINA
    Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
        If Request.Cookies("TestCookie") Is Nothing Then
            TextBox1.Text = "no"
        Else
            TextBox1.Text = "si"
            'Response.Cookies("TestCookie").Expires = DateTime.Now.AddDays(-1)
        End If
 
        Server.Transfer("index.aspx", True)

    End Sub


IL PROBLEMA è CHE MI RITORNA SEMPRE "SI" ANCHE SE IN REALTà I COOKIES SONO DISABILITATI!!!

NON CAPISCO PROPRIO DOVE SBAGLIO!!!

GRAZIE
TOMMASO
5.610 messaggi dal 09 febbraio 2002
Contributi
Ciao,
un cookie è un testo contenuto tra le intestazioni di una risposta HTTP. Di fatto viaggia insieme all'ouput html prodotto dalla pagina aspx. Quando il browser dell'utente si accorge che nella risposta è contenuto un cookie, lo salva e poi lo reinvia come intestazione di tutte le successive richieste che l'utente effettuerà allo stesso sito.

Detto questo, il problema è qui:
Response.Cookies("TestCookie").Value = "ok"
            Response.Cookies("TestCookie").Expires = DateTime.Now.AddMinutes(1)
            Server.Transfer("inc_testcookies.aspx", False)


Usando il Server.Transfer non dai modo alla pagina attuale di restituire una risposta al browser ma sposti subito l'esecuzione su un'altra pagina che controlla l'esistenza del cookie. Così facendo, il browser non ha modo né di salvarsi il cookie né di re-inviarlo con successive richieste perché un Server.Transfer è completamente trasparente per il browser. Tutto avviene lato server.

Penso che tu possa controllare se un browser supporta i cookies in questo modo, accedendo alla collezione Request.Browser.
http://msdn.microsoft.com/en-us/library/system.web.configuration.httpcapabilitiesbase.cookies.aspx

ciao,
Modificato da BrightSoul il 16 settembre 2011 13.41 -

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!
87 messaggi dal 26 maggio 2009
Grazie mille per la risposta...

ho provato lo script di microsoft ma a me non funziona...
ho provato sia con firefox che con ie9 ma nulla...non capisce quando i cookies sono abilitati o disabilitati.

Cmq immaginavo che il problema fosse li anche se in realta quando faccio rimbalzare le pagine i dati tra l'una è l'altra sembrerebbero passare.

A voi funziona lo script di microsoft postato da BrightSoul???

Grazie
Tommaso

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
In primo piano

I più letti di oggi

Media
In evidenza
MISC