今天遇到一个十分简单的问题,但是我始终无法想通,各位高手帮帮我,真的很简单

 所属目录:Java   |   类型:技术问答   |   时间:2007-05-21
 问题:

今天做东西的时候发现一个很奇怪的问题,我用的visual   studio   2003,语言c#,开发asp.net   web应用程序。我在一个页面中定义了一个全局变量如下  
  int   i=0;  
  然后放了一个按钮在页面功上,然后让按钮单击触发以下事件  
  i++;  
  然后我就显示i的结果,常理来讲,应该是每次单击加1,对吧,但是为何我每次点击i的结果始终是1,真搞不懂,难道是我的软件有问题么,各位高手请帮帮忙,我把代码写在下面,帮忙看看,十分感谢,感谢……  
   
  using   system;  
  using   system.collections;  
  using   system.componentmodel;  
  using   system.data;  
  using   system.drawing;  
  using   system.web;  
  using   system.web.sessionstate;  
  using   system.web.ui;  
  using   system.web.ui.webcontrols;  
  using   system.web.ui.htmlcontrols;  
  using   system.data.oledb;  
   
  namespace   remote  
  {  
  ///   <summary>  
  ///   disk   的摘要说明。  
  ///   </summary>  
  public   class   disk   :   system.web.ui.page  
  {  
  protected   system.web.ui.webcontrols.button   bt_add;  
  protected   system.web.ui.webcontrols.label   lb_mess;  
  int   i=1;  
   
   
  private   void   page_load(object   sender,   system.eventargs   e)  
  {  
  //   在此处放置用户代码以初始化页面  
  }  
   
   
   
  #region   web   窗体设计器生成的代码  
   
   
  private   void   bt_add_click(object   sender,   system.eventargs   e)  
  {  
  i++;  
  this.lb_mess.text=i.tostring();  
  }  
  }  
  }  
 

· 网友精彩回答:

发表者:fancyf

i不是全局变量,是一个临时对象的属性,每次页面加载的时候都会被初始化一次,调用i++后页面执行完毕这个变量也就被销毁了,值保留不下来  
   
  要想达到全局变量的效果用static   int   i=1;    
  这样i创建后会生存到进程结束

发表者:zhujiechang

web项目,客户每提交一次,重新构建新类。  
  ------------------------------------------  
  在类的应用层分析客户的每次提交,记录重要的数据。

发表者:laodai_net

你点击   button的时候页面又重新装载,当然为1了  
  放在applilcation啊

发表者:milchcow

你每次点击一次按钮,页面提交之后i的值并没有保存下来。你应该用session来保存i的值,这样才行

.
处理 SSI 文件时出错
© 2006-2008 All Rights Reserved