为什么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();
    }

为什么if语句对我不起作用

您应该使用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