请教各位一个动态页面的刷新问题

chillystar 2009-08-30 09:38:07
有一个default.aspx的页面,其中里面主要代码如下:
<form id="Form1" runat="server"><div id="mainMenuArea" runat="server"></div></form>
在default.aspx.vb中有以下两个过程代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim LoginButton As New Button With {.CssClass = "Button", .ID = "LoginButton", .Text = "登录"}
AddHandler LoginButton.Click, AddressOf LoginButton_Click
……
mainMenuArea.Controls.Add(LoginButton)
……
End Sub
Protected Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Msgbox("CallIn")
End Sub

一开始点击页面“登录”按钮时,出现消息框,按确认消息框消失,一切正常。
当按刷新后,正常来说是页面重载,不应该再出现消息框。问题是刷新后自动出现消息框,刷新多少次出现多少次。请问该问题应怎样解决?
...全文
135 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
BitCoffee 2009-09-01
  • 打赏
  • 举报
回复
Load事件:
if (!Page.IsPostBack)
{
//写只需要第一次打开时执行的,刷新不变的
}
else
{
//写每次刷新都会执行的
}
chillystar 2009-09-01
  • 打赏
  • 举报
回复
if(!ispostback)可以获得是否正在响应客户端的状态,但问题仍然未解决。各位请看:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim LoginButton As New Button With {.CssClass = "Button", .ID = "LoginButton", .Text = "登录"}
AddHandler LoginButton.Click, AddressOf LoginButton_Click
……
mainMenuArea.Controls.Add(LoginButton)
……
End Sub
Protected Sub LoginButton_Click(ByVal sender As Object, ByVal e As EventArgs)
Msgbox("CallIn")
mainMenuArea.innerHTML=" <div style=" & ChrW(34) & "height:18px; color:#FF0000; background-color:#ECEFFF" & ChrW(34) & ">Button事件已被触发。 </div>"
End Sub
在页面名叫mainMenuArea的DIV起两个作用,页面加载的时候显示一个按钮,点了按钮后显示提示。
现在的问题是点了按钮出现了提示,按F5刷新本来应重新显示按钮才对。但实际上却按F5刷新后还是显示“Button事件已被触发。”的提示,也就说刷新后没有清理刷新前的响应客户端状态。现在想知道如何才得到正确的效果?
凡夫与俗子 2009-08-31
  • 打赏
  • 举报
回复
禁止页面缓存
<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
</meta><meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
</meta><meta HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
</meta><meta HTTP-EQUIV="expires" CONTENT="0">
不耐烦 2009-08-31
  • 打赏
  • 举报
回复
页面设置不缓存 或者 转到另一页
chillystar 2009-08-31
  • 打赏
  • 举报
回复
没人回答?是不是给的分数太低了?
BitCoffee 2009-08-31
  • 打赏
  • 举报
回复
在Page_Load事件里加if (!Page.IsPostBack)

28,409

社区成员

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

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