Asp.net 如何从代码隐藏设置此cookie属性的值?

Asp.net 如何从代码隐藏设置此cookie属性的值?,asp.net,asp.net-mvc,cookies,properties,Asp.net,Asp.net Mvc,Cookies,Properties,我想这样做:Dim str As String=class.isGuest(“是”),但它不起作用 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 ke

我想这样做:
Dim str As String=class.isGuest(“是”)
,但它不起作用

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

您的代码中存在一些问题,但我认为主要问题是您正在设置/创建一个名为“g”的cookie,但是您正在尝试检索一个名为MYACCOUNT\u SESSION\u cookie\u NAME的cookie

您还可以通过调用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