注册 登录
编程论坛 ASP.NET技术论坛

[求助]浏览器返回问题

xiaofeng2566 发布于 2007-05-30 10:46, 1115 次点击
我做的一个小的投票系统,在主页面进行投票,在主页面的pageload事件里加载投票选项并帮定到radiobuttonlist上,还有一个vote按钮用来投票用,vote按钮代码如下:
if (readcookie == null)//从未投过票,读取cookie
{
makecookie.Values.Add("VoteItem",strID);
}
else
{
string strAllItem = readcookie.Values["VoteItem"].ToString();//读取已投票的项
if (strAllItem.IndexOf(strID) == -1)//未投过票
{
makecookie.Values.Add("VoteItem", readcookie.Values["VoteItem"] +strID);
}
else
{
Response.Write("<script language=javascript>alert('该主题你已经成功投票过了,不能重新投票!');</script>");
return;
}
}
Response.AppendCookie(makecookie);
//update database
if (update)//update database successfully
{
Response.Write("<script language=javascript>alert('投票成功!');</script>");
}
在投票完成后现实“投票成功对话框”,点击察看页面察看票数,然后再点击浏览器的返回按钮,返回投票叶面时却弹出“该主题你已经成功投票过了,不能重新投票!”的对话框,这个对话框显示的代码应该是在vote按钮里的,可是返回页面时并没点击vote按钮啊,返回vote页面时不是只执行pageload事件的代码吗,为什么还会显示这个对话框,请哪位高手指点下,是cookie的原因吗?
10 回复
#2
GrimFish2007-05-30 11:02

页面缓存?你用的是普通窗口还是模式窗口

#3
xiaofeng25662007-05-30 11:06

那个对话框应该是模式窗口,请指教

#4
xiaofeng25662007-05-30 11:07

我在程序里没有指明页面缓存啊,不知道是什么原因,郁闷啊

#5
GrimFish2007-05-30 11:09

清除IE的临时文件和COOKIE,看看还会提示不

#6
GrimFish2007-05-30 11:09
最好把你的PAGELOAD部分代码放出来
#7
xiaofeng25662007-05-30 11:10

还是提示,关键是返回时应该执行pageload事件,不是vote的单击事件,它怎么会执行vote的单击事件呢

#8
GrimFish2007-05-30 11:12
放出PAGELOAD来
#9
xiaofeng25662007-05-30 11:21

什么是放出pageload,能不能说的详细点呢,我的pageload事件中的代码只是对投票页面的投票项进行动态邦定啊

#10
GrimFish2007-05-30 11:24
把你PAGELOAD部分的代码发出来,当然你不想发也随便。
#11
GrimFish2007-05-30 16:27

如果用的是showModalDialog的话。
在最后面加个随机参数吧,这样不会有缓存的问题了showModalDialog一向有这样的问题,虽然有的人在HEAD部分加了不要页面缓存,但是一样会缓存的。

Math.random()这个是JS里的随即参数

1