为什么if语句对我不起作用
本文关键字:不起作用 语句 if 为什么 | 更新日期: 2023-09-27 18:18:32
我试图为我的网站在ASP.NET的登录入口做一个if语句。
一次又一次地,它只是忽略了这样一个事实:如果某项为空,它不应该进入语句。
你能告诉我我哪里错了吗?
connection.Open ();//FirstName * * * * * 字符串firstName = FirstNameTextBox.Text;字符串sqlquery = ("INSERT INTO Users (FirstName,LastName,Username,Password) VALUES (@FirstName,@LastName,@Username,@Password)");
SqlCommand command = new SqlCommand(sqlquery , connection);
command.Parameters.AddWithValue("FirstName", firstName);
//LastName************
string lastName = LastNameTextBox.Text;
command.Parameters.AddWithValue("LastName", lastName);
//Username*************
string username = UsernameTextBox.Text;
command.Parameters.AddWithValue("UserName", username);
//Password*************
string password = PasswordTextBox.Text;
command.Parameters.AddWithValue("Password", password);
if (lastName != null || username != null || firstName != null || password != null)
{
if (PasswordTextBox.Text == ReTypePassword.Text)
{
Session["UserEnter"] = FirstNameTextBox.Text;
command.ExecuteNonQuery();
Response.Redirect("HomeAfter.aspx");
}
else if (PasswordTextBox.Text != ReTypePassword.Text)
{
ErrorLabel.Text = "Sorry, You didnt typed your password correctly. Please type again.";
}
else
{
ErrorLabel.Text = "Some Error has accured.";
}
}
else
{
ErrorLabel.Text = "Please fill all of the fields.";
}
connection.Close();
}
您应该使用AND
s而不是OR
s
if (lastName != null && username != null && firstName != null && password != null)
文本框不会返回空值。它将返回空字符串,所以你应该让你的if语句与!string.IsNullOrEmpty(string)
与AND语句。解决方案如下:
if (!string.IsNullorEmpty(lastName) && !string.IsNullorEmpty(username) && !string.IsNullorEmpty(firstName) && !string.IsNullorEmpty(password))
{
//code here
}
else
{
ErrorLabel.Text = "Please fill all of the fields.";
}
文本框。Text不返回空值,尝试用String.IsNullOrEmpty();
空文本框的值将是一个空字符串,而不是null