问个最简单的问题

yugiant 2007-11-20 01:07:39
使用的是vb.net,在asp.net中有一button1,label1

sub button1_click()中
dim a as integer
a = a + 1
label1.text=str(a)
end sub

点button1若干次,label1永远显示1,这是为什么
望指教,谢谢


...全文
60 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
西安风影 2007-11-20
  • 打赏
  • 举报
回复
button1_click()
{
}
这是一个函数 并且a是局部变量,局部变量的生命周期就是该函数结束
点击一次 就实现了调用函数开始 调用函数结束
再点 因为函数早已经结束 局部变量生命周期早已经结束,所以在生成一个局部变量 所以就是初始值了
NO28 2007-11-20
  • 打赏
  • 举报
回复
你应该定义static变量。
每点一次button a 都是重新定义的。所以每次都显示1
shawn_yang 2007-11-20
  • 打赏
  • 举报
回复
dim a as integer

每次都初始化了

应该放在按钮事件外
yishan116 2007-11-20
  • 打赏
  • 举报
回复
同意楼上的
aoxin 2007-11-20
  • 打赏
  • 举报
回复
因为A的局部变量,每次调用都会被初始化.
JGood 2007-11-20
  • 打赏
  • 举报
回复
dim a as integer //没有初始化,则默认为0
a = a + 1 //a = 0 + 1
label1.text=str(a) //把a的值赋给label1的text属性
结果当然是1了


楼主要的效果,可以这样:

sub button1_click()中
dim a as integer
//在这里,把label1.text的值转换成int型,再赋值给a
//VB不懂,C#中可以这样转换
//a = int.Parse(label1.Text);
a = a + 1
label1.text=str(a)
end sub
wyw1997 2007-11-20
  • 打赏
  • 举报
回复
在click事件之前定义a
cg2007 2007-11-20
  • 打赏
  • 举报
回复
dim a as integer
a = a + 1
label1.text=str(a)

===========================
你没先取得值


dim a as integer
a = label1.text
a = a + 1
label1.text=str(a)
haixinshen 2007-11-20
  • 打赏
  • 举报
回复
你应该在前面定义a

62,046

社区成员

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

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

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

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