asp.net中staitc变量的生命周期

jiangtianyin 2009-12-22 01:54:54
有个问题困扰好久了,今天再次遇到,所以在此向高手们请教,希望各位帮小弟解惑

我在一个页面中声明了一个static变量,假设我这里用来记录按钮点击了几次,如下:
public partial class test : System.Web.UI.Page
{
private static int count = 0;

protected void Button1_Click(object sender, EventArgs e)
{
count++;
}
}
当程序运行后没点击一次按钮就让变量count加一,这点并没有问题,但是我通过调试发现,有时候当我停止调试并重新运行程序(启动调试)的时候count并没有被重新赋值为0,而是保留了上次程序运行的结果,有时候又能正常清0,清大家帮忙解释下这种现象

另外请大家讲解下ViewState的用法,谢谢!
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Im_Sorry 2009-12-22
  • 打赏
  • 举报
回复
up
mohugomohu 2009-12-22
  • 打赏
  • 举报
回复

应该是这张
mohugomohu 2009-12-22
  • 打赏
  • 举报
回复

把这个停止了,我就不信他还能保存
igelf 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 angelxdb 的回复:]
静态变量生命和WEB server 进程是一样的,如果服务进程没有关闭它还是存在的.


[/Quote]
d
bancxc 2009-12-22
  • 打赏
  • 举报
回复
一直存在
zhujiazhi 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hrabeyond 的回复:]
如果你把任务栏的ASP.NET Development Server关掉,他就变回去了..


[/Quote]

ViewState是在当前页面有效,
ViewState["count"] = 1;
如果把当前页面给关了,
ViewState就没有了
手抓宝 2009-12-22
  • 打赏
  • 举报
回复
如果你把任务栏的ASP.NET Development Server关掉,他就变回去了..

云舒丶 2009-12-22
  • 打赏
  • 举报
回复
静态变量生命和WEB server 进程是一样的,如果服务进程没有关闭它还是存在的.

Dobzhansky 2009-12-22
  • 打赏
  • 举报
回复
调试用的哪个 web server? vs 自带的那个?
Dream_Hunter_ 2009-12-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hrabeyond 的回复:]
如果你把任务栏的ASP.NET Development Server关掉,他就变回去了..
[/Quote]
是的。服务进程开着,它就一直存在。
ViewState保存当前页活动时的信息,刷新什么的都可以。但是关闭页面就没了。

62,046

社区成员

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

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

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

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