关于ispostback

cjq002 2003-05-23 04:04:51
以下页面初次加载时,显示"1",按"刷新",仍显示"1",为什么不是显示"0"呢?

<%@PAGE LANGUAGE="vb" runat="server"%>
<script runat="server">
sub page_load()
application("a")=0
if not ispostback() then
application("a")+=1
end if
response.write(application("a"))
end sub
</script>
...全文
35 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
snfdf 2003-05-27
  • 打赏
  • 举报
回复
你第一次调用的时候A值为1,那么当然以后也为1了.如果你去掉ISPOSTBACK的话那么A的值会不断增加.
shangerhe 2003-05-27
  • 打赏
  • 举报
回复
同意stationxp(小磊龙) 的观点
IT-KB 2003-05-27
  • 打赏
  • 举报
回复
所谓ispostback是指当网页第一次加载时才有效,你刷新时,当然不属于第一次加载哦
stationxp 2003-05-27
  • 打赏
  • 举报
回复
哦,有个小错误
if(IsPostBack)

应该是
if(!IsPostBack)
stationxp 2003-05-27
  • 打赏
  • 举报
回复
1.给application变量赋值的时候要锁定 : ) [ 和这个问题无关,顺便提一下 ]
2.刷新并不能改变 Page.IsPostBack 的值:
只有与服务器交互的控件状态发生改变的时候才会改变IsPostBack的值。
3.测试代码:
<HTML>
<HEAD>
<title>WebForm1</title>
<script language="c#" runat="server">
void Page_Load(object sender, System.EventArgs e)
{

Application.Lock();
Application["a"]=1;
Application.UnLock();
if(IsPostBack)
{
this.Application.Lock();
Application["a"] = 0;
this.Application.UnLock();
}
Label1.Text = Application["a"].ToString();
}


</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="WebForm1" method="post" runat="server">
<FONT face="宋体">
<asp:Button id="Button1" runat="server" Text="Button"></asp:Button>
<asp:Label id="Label1" runat="server">Label</asp:Label></FONT>
</form>
</body>
</HTML>

初次访问该页的时候,显示 0 ,刷新后仍为 0 ;点击按钮变为 1 。
stationxp 2003-05-27
  • 打赏
  • 举报
回复
给application变量赋值的时候要锁定
snowjin78 2003-05-27
  • 打赏
  • 举报
回复
ispostback,如果是为响应客户端回发而加载该页,则为 true;否则为 false。
你可以试一试:如果你在页面上加一个web controls :button,那么,页面初次加载显示1,可是当你按下button,既是你没有未button添加如何功能,它也回送页面。所以页面显示为0
binghe7 2003-05-27
  • 打赏
  • 举报
回复
GZ
cjq002 2003-05-27
  • 打赏
  • 举报
回复
明白了,谢谢大家.
cjq002 2003-05-26
  • 打赏
  • 举报
回复
还是不太明白。wbird(木鸟),能举个例子吗,谢谢!
wbird 2003-05-26
  • 打赏
  • 举报
回复
postback是有form post回去时产生的
你如果真从表单提交回去就是0了
Talent2001k 2003-05-26
  • 打赏
  • 举报
回复
按刷新后 ispostback=False
每次都进If的,当然是1
zwztu 2003-05-26
  • 打赏
  • 举报
回复
按刷新,不是触发postback事件,具有autopostback属性的服务器端控件触发postback事件。具体参考
ms-help://MS.VSCC/MS.MSDNVS.2052/Vbcon/html/vbconWebFormsPageProcessingStages.htm
cjq002 2003-05-25
  • 打赏
  • 举报
回复
既然按刷新是postback,那么application("a")应该没有+1,它应该等于0呀!???
newrain7803 2003-05-23
  • 打赏
  • 举报
回复
按"刷新",当然时postback了,所谓postback,就是从网页自身访问自己

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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