删除所有Session值,flag除外?

p559 2003-10-17 09:34:35
'1//////////////////////////////////////////////////////////////////
session.Contents.RemoveAll
'///////////////////////////////////////////////////////////////////


'2//////////////////////////////////////////////////////////////////
for each item in session.contents
If item <> "falg" then
Session.Contents.Remove(item)
response.write item
response.write ":"
response.write Session.Contents(item)
response.write "<br>"
End if
next
'///////////////////////////////////////////////////////////////////
有何区别?
为何用第二种方法删除不干净呢
...全文
64 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dafei0320 2003-10-18
  • 打赏
  • 举报
回复
session.abandon
huhan3 2003-10-18
  • 打赏
  • 举报
回复
'用一个变量纪录flag
flag=session("flag")
'清空session
session.abandon
'重写session("flag")
session("flag")=flag
mycl3344 2003-10-18
  • 打赏
  • 举报
回复
用session.abandon就可刪除干淨了﹗
avonqin 2003-10-18
  • 打赏
  • 举报
回复
应该是flag,写错了:D
avonqin 2003-10-18
  • 打赏
  • 举报
回复
不用i来获得session的个数的
<%
for iCount=1 to Session.Contents.Count
if Session.Contents(1)<>"falg" then
Session.Contents.Remove(1)
else
Session.Contents.Remove(2)
end if
next
%>
可以达到你的要求
jim.ma 2003-10-18
  • 打赏
  • 举报
回复
session.abandon 之后是不是

session id 也更新了?
avonqin 2003-10-17
  • 打赏
  • 举报
回复
举例说明:

<%
session("name1")="name1"
session("name2")="name2"
session("name3")="name3"
session("name4")="name4"
session("name5")="name5"
session("name6")="name6"

for each item in session.contents
response.write Session.Contents(item)
Session.Contents.Remove(item)
response.write ","
next
%>
将输出name1,name3,name5,而不是name1,name2,name3,name4,name5,name6

解释:(比较抽象,不知道我能否表述清楚)
session.contents是动态的,它的值为Remove后的值;
在循环时item在session.contents里的位置是1,2,3,4……(不管session.contents的值是否变化,这里却是变化的——每少减1条纪录)


##
要想实现清空除session("name2")外所有的session,如下方法可以实现:

<%
session("name1")="name1"
session("name2")="name2"
session("name3")="name3"
session("name4")="name4"
session("name5")="name5"
session("name6")="name6"

i=1
for each item in session.contents
i=i+1 '获得所有session数量
next

for iCount=1 to i
if Session.Contents(1)<>"name2" then
Session.Contents.Remove(1)
else
Session.Contents.Remove(2)
end if
next
%>
htao007 2003-10-17
  • 打赏
  • 举报
回复
你怎么知道删除不干净呢
沐NeMo 2003-10-17
  • 打赏
  • 举报
回复
可能跟客户有打开多个浏览器有关,Session.Contents(item)可能有多个值。
qunluo 2003-10-17
  • 打赏
  • 举报
回复
gz
qdubit 2003-10-17
  • 打赏
  • 举报
回复
关注!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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