开发Web应用程序中Cookie使用的问题
问:我想在一个Actionitem中增加cookie,然后sendredirect到另一个actionitem在那里验证cookie,有cookie这显示一个页面,否则返回。但我发现增加完cookie后,如果马上sendredirect则另一个actionitem取不到cookie值(说明cookie增加不成功),若不马上sendredirect而是response.content:=某一页面内容,然后用户点击连结到另一ActionItem则可以成功读出cookie。
答:Cookie是一个Response的头(header)部分,必须在正文之前设置。如果用SendRedirect,只有新页面才会传送,SendRedirect之前设置的Response会取消,导致Cookie不能加到新页面的头部分,所以设置Cookie不成功!解决办法是:永远不要在设置Cookie后再用SendRedirect。你所说的问题可以这样解决:在HTML中可以加入代码自动转到另外一个页面,我们可以在WebActionItem的OnAction事件中写入:
Response.Content:=<meta HTTP-EQUIV="REFRESH" CONTENT="1;+
URL=http://chen/dll/chat/chatmain.exe/qtchat">+
<p></p><p align="center">你的回复已经添加到论坛中了+
<br>两秒钟后回到论坛首页</p>;
就可以自动返回URL指向的地址了。
问:我先在Cookie中设定了一个值,然后想修改它,该如何做?
答:首先删除原来的Cookie中的值,方法是将Cookie的Expires设定为必现在时间早的时间,然后在设定。例如: