using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq; public partial class _Default : System.Web.UI.Page
{
private static int sum=0;
protected void Button1_Click(object sender, EventArgs e)
{ sum++;
Label1.Text = sum.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = sum.ToString();
}
}
真的想不明白这个sum静态变量~!~
为什么关了浏览器之后这个sum还是之前累加后的值.
还有页面的生命周期又是一个怎样的过程.
希望能得到全面的解释
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq; public partial class _Default : System.Web.UI.Page
{
private static int sum=0;
protected void Button1_Click(object sender, EventArgs e)
{ sum++;
Label1.Text = sum.ToString();
}
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = sum.ToString();
}
}
真的想不明白这个sum静态变量~!~
为什么关了浏览器之后这个sum还是之前累加后的值.
还有页面的生命周期又是一个怎样的过程.
希望能得到全面的解释
解决方案 »
- 一篇文章对应多个附件,数据表如何设计好呢?取消发布时如何删除附件呢?
- 有谁知道asp:Repeater的3个样式交替怎么弄吗?
- 传值乱码问题
- 急:高手请帮忙,关于页面刷新问题!用_dopostBack();
- 奇怪的问题:服务器SQL Server 登录???大家看遇到过没?
- 在线急呀......要交差了,可还差一点才能收工,请各位帮帮忙!!!!
- 如何用C#+ASP.NET上传图片到制定的文件夹,同时随机生成图片名并保存到数据库中?
- IBuySpy安装失败!!请大家帮忙
- 警务资源管理平台aspx.net版,请兄弟们帮忙测试一下,谢谢
- 急急!GridView 绑定修改按钮,弹出窗口获取ID值
- 来看看吧..
- 数据连接非常慢
为什么关了浏览器之后这个sum还是之前累加后的值.
还有页面的生命周期又是一个怎样的过程.
希望能得到全面的解释
--------------------------------------------
如果你重启了Web服务器,这个sum就会恢复到最开始的值了。每个用户打开这个页面,会创建页面类的一个实例,不同的客户端所创建的页面对象不同而已,但是都是同一个类的实例,所以是共享静态字段的。和普通的类一样。至于你问的.net freamwork是如何管理这些静态成员的,这个是你理解上的问题,你的Web程序在服务器端也是一个应用程序,和你写的普通的应用程序也没有太本质的区别。就好像你在你写的一个应用程序中,创建了两个类的实例,这个两个类的实例共享类的静态字段。
那就是sum会在page实例中共享
也就是不同的客户可以访问同一个sum