cookie是否应当判断变量是否存在?

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

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

源错误:


行 60:
行 61: '设置投票数据更新
行 62: If Request.Cookies.Item("mysite_cookie").Value <> "vote_ok" Then
行 63: Response.Cookies.Item("mysite_cookie").Expires = Now.AddDays(3)
行 64: Response.Cookies.Item("mysite_cookie").Value = "vote_ok"
问题:我在
63及64行设置了COOKIE变量,但运行出错,是不是应当先判断COOKIE变量是否存在(看了几段文章,都没有提到这个问题,请饱学之士指点),然后再判断它的值?
...全文
164 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanst 2005-02-17
  • 打赏
  • 举报
回复
cookie是在客户判断是过期的,所以必须判断。

如果用C#:
if(Request.Cookies["mysite_cookie"] == null)
{...}
else
{...}

用VB.net可以试一下这样:
IF Request.Cookies("mysite_cookie") == NoThing)
...
Else
...
End If

minghui000 2005-02-17
  • 打赏
  • 举报
回复
up
lnwuyaowei 2005-01-23
  • 打赏
  • 举报
回复
感谢hs_tang7788(hs_tang),代码写成了这个样子,55555555,还是得判断COOKIE是不是存在:

'设置投票数据更新
Dim vote_ok As HttpCookie
Dim cookie_false As Boolean

vote_ok = Request.Cookies.Item("mysite_cookie")
If vote_ok Is Nothing Then
cookie_false = True
Else
cookie_false = Not (vote_ok.Value = "vote_ok")
End If

If cookie_false Then
Response.Cookies.Item("mysite_cookie").Expires = Now.AddHours(3)
Response.Cookies.Item("mysite_cookie").Value = "vote_ok"

Dim updatesqlstring As String
updatesqlstring = "update voteitem set item_count = item_count + 1 where item_id = " & vote_item
Dim updatecommand As OleDbCommand = New OleDbCommand(updatesqlstring, OleDbConnection1)
OleDbConnection1.Open()
updatecommand.ExecuteNonQuery()
OleDbConnection1.Close()
Label3.Text = "投票成功!"
Else
Label3.Text = "您已经投过票了!请查看投票结果。"
End If
hs_tang7788 2005-01-23
  • 打赏
  • 举报
回复
HttpCookie cook=Request.Cookies["名称"];
if(cook!=null)
{...}
else
{...}
hs_tang7788 2005-01-23
  • 打赏
  • 举报
回复
一个简单但不太好的办法是把代码放在TRY CATCH块中

62,041

社区成员

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

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

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

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