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
{
}
//定义全局变量
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
protected void ButtonchangepassWord_Click(object sender, EventArgs e)
里面的
if (viol != null)
结果都是false,你页面每次刷新都会导致 viol =null
protected void Page_Load(object sender, EventArgs e)
{
if(!ispostback)
{
bind();//在这调用bind()事件
} }
protected void Page_Load(object sender, EventArgs e)
{
if(!ispostback)
{
bind();//在这调用bind()事件
} }