protected void Page_Load(object sender, EventArgs e)
    {
    }
    //定义全局变量
    Person viol = null;        public void bind()
        {
        }
        public void bind(string a, string b, string c, string d)
        {
            //实例化一个新用户
            Person viol = new Person();    //全局变量进行实例化
            viol.name = TextBoxUser.Text;
            a = viol.name;
            viol.passWord = TextBoxpassWord.Text;
            b = viol.passWord;
            viol.repassWord = TextBoxrepassWord.Text;
            c = viol.repassWord;
            viol.email = TextBoxemail.Text;
            d = viol.email;             //对textbox内容进行判断
            bool nameCheck = false;
            bool passWordCheck = false;
            bool repassWordCheck = false;              //对userbox内容进行判断
            if (a != "")
            {
                Labeluser.Text = "用户名可用";
                nameCheck = true;            }
            else
            {
                Labeluser.Text = "请输入一个用户名";            }            //对密码内容进行判断            if (b != "")
            {
                LabelpassWord.Text = "密码已输入";
                passWordCheck = true;            }
            else
            { LabelpassWord.Text = "请输入一个密码"; }
            //对第二次输入的密码进行判断
            if (b == c)
            {
                LabelrepassWord.Text = "密码正确";
                repassWordCheck = true;            }
            else
            {
                LabelrepassWord.Text = "密码不一致";
            }
                        if ((nameCheck && passWordCheck && repassWordCheck) == true)
            {                LabelOut.Text = "您的用户名为: " + viol.name + ",您的邮箱是: " + viol.email + "。恭喜!注册成功!";
            }
            else
            {
                LabelOut.Text = "请输入 信息完全或密码不一致";
            }        }        protected void Buttonsure_Click(object sender, EventArgs e)
        {
            
        }
        protected void ButtonchangepassWord_Click(object sender, EventArgs e)
        {
           
            
            if (viol != null)//判断viol是否为空,若不为空,说明已经被实例化
            {
                string testName = viol.name;
                string testpassWord = viol.passWord;
               
                string enterName = TextBoxenterName.Text;
                string enterpassWord = TextBoxenterPassWord.Text;
                if (enterName == testName && enterpassWord == testpassWord)
                {
                    string changepassWord = TextBoxchangePassword.Text;
                    viol.passWord = changepassWord;                    LabelOut.Text = "您的用户名为: " + viol.name + ",您的密码已修改为: " + viol.passWord + "。恭喜!修改成功!";
                }
            }           
        }
        protected void Buttonenter_Click(object sender, EventArgs e)
        {
            bind(); 
            
            bind("a", "b", "c", "d");
          
        }
现代码未出错,但是 if (viol != null)  这句语句因为viol不可能为空,估应该程序继续往下运行,可是现调试出来程序不运行这段if语句里的代码 请高手解答,3Q 
            

解决方案 »

  1.   

    你不把bind()事件写在page_load里面,那你怎么运行
    protected void ButtonchangepassWord_Click(object sender, EventArgs e)
    里面的
    if (viol != null)
    结果都是false,你页面每次刷新都会导致 viol =null
      

  2.   

    在load里要加上ispostback
    protected void Page_Load(object sender, EventArgs e)
      {
         if(!ispostback)
              {
                bind();//在这调用bind()事件
             }  }
      

  3.   

    在load里要加上ispostback
    protected void Page_Load(object sender, EventArgs e)
      {
      if(!ispostback)
      {
      bind();//在这调用bind()事件
      }  }