开发Web应用程序中Cookie使用的问题 (转)

开发Web应用程序中Cookie使用的问题 (转)[@more@] 

问:我想在一个Actionitem中增加cookie,然后sendredirect到另一个actionitem在那里验证cookie,有cookie这显示一个页面,否则返回。但我发现增加完cookie后,如果马上sendredirect则另一个actionitem取不到cookie值(说明cookie增加不成功),若不马上sendredirect而是response.content:='某一页面内容',然后用户点击连结到另一ActionItem则可以成功读出cookie。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

答:Cookie是一个Response的头(header)部分,必须在正文之前设置。如果用SendRedirect,只有新页面才会传送,SendRedirect之前设置的Response会取消,导致Cookie不能加到新页面的头部分,所以设置Cookie不成功!解决办法是:永远不要在设置Cookie后再用SendRedirect。你所说的问题可以这样解决:在HTML中可以加入代码自动转到另外一个页面,我们可以在webActionItem的OnAction事件中写入:

Response.Content:=''+

  '

你的回复已经添加到论坛中了'+

  '
两秒钟后回到论坛首页

';

就可以自动返回URL指向的地址了。

 

问:我先在Cookie中设定了一个值,然后想修改它,该如何做?

答:首先删除原来的Cookie中的值,方法是将Cookie的Expires设定为必现在时间早的时间,然后在设定。例如:

//将原来Cookie中的记录删除

  With Response.Cookies.Add do begin

  Name := 'NickName';

  Value := Request.ContentFields.Values['NickName'];

  Secure := False;

  Expires := Now-1;

  end;

 

  //将注册的用户名作为Cookie中的内容

  With Response.Cookies.Add do begin

  Name := 'NickName';

  Value := Request.ContentFields.Values['NickName'];

  Secure := False;

  Expires := Now+100;

end;

 

问:如何通过Cookie保存临时信息?象一些论坛,在一次浏览过程中。当你第一次发言时,需要输入密码,而以后发言就不需要输入密码。而当断开后再次浏览就还需要输入密码,这样即方便又保证了安全性.

答:设置这样的Cookie的方法是不要设定Expires。例如:

//设定临时Cookies

  with Response.Cookies.Add do begin

  Name := 'TempPassword';

  Value:=sPassword;

end;

 

另外我们也可以下载一些专用的设定和读取Cookie的控件,这些控件支持在Web应用程序中加入类似ASP的Session的功能。下载地址是:http://codecentral.borland.com/

www.applevb.com


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10790663/viewspace-954516/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10790663/viewspace-954516/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值