cookies的怪问题,分不够可在加

renaski 2004-12-04 08:00:28
Dim ctrCookie As HttpCookie = New HttpCookie("StrUser")
dd = RadioField.Text
Dim Cookies_Time As DateTime = DateAdd("d", dd, System.DateTime.Now)
With ctrCookie
.Expires = Cookies_Time
.Value = Session("User")
.Domain = "洛林(renaski)"
'参数以后可以扩展
End With
Response.Cookies.Add(ctrCookie)

Response.Write(Request.Cookies("StrUser").Value)

这个是写进去的,通过验证,没有问题。
提交了后页面刷新

随后在页面的顶部有段取的代码
Dim ctrCookie As HttpCookie = New HttpCookie("StrUser")
ctrCookie = Request.Cookies("StrUser")
If Not ctrCookie Is Nothing Then
Session("User") = Request.Cookies("StrUser").Value
Response.Write(Session("User"))
...
end if

这里
Session("User") = Request.Cookies("StrUser").Value
报错
错误内容为

"
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:
"

也就是说留在客户端的cookies取不到。
再去看了web.config
cookieless="false"
这个没错,我没有禁用。当然,禁用的话,我前面也是取不到的

但为什么我一刷新或者转到其他的页面这个cookies就消失了呢?我也没有去remove啊。
然后查了SDK

http://chs.gotdotnet.com/quickstart/aspplus/doc/stateoverview.aspx

他里面居然这样写
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Request.Cookies("preferences1") = Null Then
Dim cookie As New HttpCookie("preferences1")
cookie.Values.Add("ForeColor", "black")
...
Response.AppendCookie(cookie)
End If
End Sub

不是说VB.Net不支持Null的吗?
...全文
222 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
renaski 2004-12-04
  • 打赏
  • 举报
回复
把.Domain = "洛林(renaski)"去掉就可以了,谢谢鸭子
:)
renaski 2004-12-04
  • 打赏
  • 举报
回复
错误还是和上面的一样
renaski 2004-12-04
  • 打赏
  • 举报
回复
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Session("user") = "" Then
Dim ctrCookie As HttpCookie = New HttpCookie("StrUser")
Dim Cookies_Time As DateTime = DateAdd("d", 30, System.DateTime.Now)
Session("User") = "aa"
With ctrCookie
.Expires = Cookies_Time
.Value = Session("User")
.Domain = "洛林(renaski)"
'参数以后可以扩展
End With
Response.Cookies.Add(ctrCookie)
Response.Write("bb")
End If
If Session("user") = "aa" Then
Response.Write(Request.Cookies("StrUser").Expires)
Response.Write(Request.Cookies("StrUser").Value)
Response.Write("rr")
End If
End Sub


这样的也错了,不知道为什么?
radarboy 2004-12-04
  • 打赏
  • 举报
回复
帮你顶上去咯。。。。。。。。
radarboy 2004-12-04
  • 打赏
  • 举报
回复
我能取到,你怎么取不到!!!!?

renaski 2004-12-04
  • 打赏
  • 举报
回复
我的RPWT?
-_-~!
renaski 2004-12-04
  • 打赏
  • 举报
回复
我刚付好cookies的value后是取的到的,但是只要一刷新或者到其他的页面了,就取不到了。

怪啊

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧