请看下面代码
public class test : System.Web.UI.Page
{
    string mynumber;
    private void test1()
      {
         mynumber="aaaaa";      }
    private void test2()
     {
        textbox1.text=mynumber;
     }
   }
我现在在test1中可以将 mynumber赋值,可是在test2中mynumber 怎么变成null了还有个问题,如果我在程序中定义一个Session["my"]="you",那么用完了我想消毁这个Session怎么办呢

解决方案 »

  1.   

    1:WebForm里面的变量,会随着页面的PostBack丢失,可以用ViewState代替
     private void test1()
          {
             ViewState["mynumber"] ="aaaaa";      }
      private void test2()
         {
            textbox1.text=Convert.ToString(ViewState["mynumber"]);
         }
      

  2.   

    像你那样在不同的函数中是不可以直接调用的,下面这样就可以直接用
    public class test : System.Web.UI.Page
    {
        string mynumber="aaaaa"; 
        private void test2()
         {
            textbox1.text=mynumber;
         }
       }
      

  3.   

    你的问题不属于变量作用域的问题。建议你看看 MSDN 中关于控件生命周期部分的内容。
      

  4.   

    string mynumber;
    是个全局的空变量。
    函数里面的如果不执行就不发生操作。
      

  5.   

    public class test : System.Web.UI.Page
    {
        string mynumber;
        private void test1()
          {
             mynumber="aaaaa";      }
        private void test2()
         {
            textbox1.text=mynumber;
         }
       }
    你仅仅是定义了,还没有初始化。
    想这样做,应该可以。
        string mynumber=String.Empty;**********************************************************
        private void test1()
          {
             mynumber="aaaaa";      }
        private void test2()
         {
            textbox1.text=mynumber;
         }
      

  6.   

    在调用test2后,调用test1前一定刷新页面了!
    brightheroes(闭关|那一剑的风情) 兄台说的没错!