Как я могу установить значение этого свойства cookie из кода позади? - PullRequest
1 голос
/ 08 октября 2010

Я бы хотел сделать это: Dim str As String = class.isGuest("yes"), но это не сработает.

Public Property IsGuest(ByVal guestStatus As String) As String
    Get
        Dim guestCookie As New HttpCookie("g")

        For Each key As String In Context.Response.Cookies.Keys
            If key = MYACCOUNT_SESSION_COOKIE_NAME Then
                guestCookie = Context.Response.Cookies.Item(MYACCOUNT_SESSION_COOKIE_NAME)
                Exit For
            End If
        Next

        guestCookie.Value = guestStatus
        Response.Cookies.Add(guestCookie)

        Return guestCookie.Value.ToString
    End Get
    Set(ByVal value As String)
        Dim guestCookie As New HttpCookie("g")

        guestCookie.Value = value
        Response.Cookies.Add(guestCookie)
    End Set
End Property

1 Ответ

0 голосов
/ 08 октября 2010

В вашем коде есть несколько проблем, но я думаю, что основная проблема заключается в том, что вы устанавливаете / создаете cookie с именем "g", но затем пытаетесь получить cookie с именем MYACCOUNT_SESSION_COOKIE_NAME.

Вы также можете упростить свой код, заменив цикл через ключи вызовом свойства в коллекции cookie, которое делает то же самое.

Public Property IsGuest(ByVal guestStatus As String) As String 
    Get 
        Return Context.Response.Cookies(MYACCOUNT_SESSION_COOKIE_NAME).Value
    End Get 
    Set(ByVal value As String) 
        Response.Cookies.Add(New HttpCookie(MYACCOUNT_SESSION_COOKIE_NAME, value) 
    End Set 
End Property 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...