今天写了一个程序玩玩,发现一个问题。
javascript 和 asp.net 访问 cookie 的时候出现一个奇怪的问题。请教解答。
问题描述如下:
asp.net 程序中注册了一个cookie对象。单值对象(value)。不是存放的数据集合(values)。
通过页面的javascript正常读出该cookie值。但是通过javascript更新后该cookie后。
asp.net程序中读取的还是原来的值。但是刷新页面后javascript读取又是修改过的值。
列出所有cookie对象,发现多了一个同名cookie,该cookie为修改过的值。
看来javascript更新其实是创建了一个新的cookie。造成了asp.net和javascript各访问各的cookie对象的情况。
请教有什么办法可以让两者可以对同一cookie对象进行操作了。
javascript 和 asp.net 访问 cookie 的时候出现一个奇怪的问题。请教解答。
问题描述如下:
asp.net 程序中注册了一个cookie对象。单值对象(value)。不是存放的数据集合(values)。
通过页面的javascript正常读出该cookie值。但是通过javascript更新后该cookie后。
asp.net程序中读取的还是原来的值。但是刷新页面后javascript读取又是修改过的值。
列出所有cookie对象,发现多了一个同名cookie,该cookie为修改过的值。
看来javascript更新其实是创建了一个新的cookie。造成了asp.net和javascript各访问各的cookie对象的情况。
请教有什么办法可以让两者可以对同一cookie对象进行操作了。
if not ispostback then
dim cookie as New HttpCookie("GCH","world")
Response.Cookies.Add(cookie) cookie = New HttpCookie("gch","world2")
Response.Cookies.Add(cookie)
else
dim cookie as HttpCookie
dim strCookieKey as string
for i as integer = 0 to Request.Cookies.Count - 1
cookie = Request.Cookies(i)
Response.Write(cookie.Name & "=" & cookie.Value & "," & cookie.Path & "," & cookie.Values.Count & "<BR>")
next
end if
%>
<SCRIPT>
alert(document.cookie);
</SCRIPT>
<form runat="server">
<asp:Button id="btn" runat="server" Text="Refresh"/>
</form><input type="button" onclick="document.cookie='gch=222; path=/;'; alert(document.cookie);" value="change cookie">