asp.net: почему оператор if не работает для меня? - PullRequest
0 голосов
/ 20 декабря 2011

Я пытаюсь сделать оператор if для входа в систему для моего веб-сайта на ASP.NET.

время от времени, он просто игнорирует тот факт, что он НЕ предполагает ввод оператора, если что-то имеет значение null.

подскажите, где я ошибся?

connection.Open ();// FirstName ***** string firstName = FirstNameTextBox.Text;строка sqlquery = ("ВСТАВИТЬ ВХОДОВ Пользователей (Имя, Фамилия, Имя пользователя, Пароль) ЗНАЧЕНИЯ (@ Имя, @ Фамилия, @ Имя пользователя, @ Пароль)");

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

Ответы [ 4 ]

2 голосов
/ 20 декабря 2011

Ваш if должен использовать AND s вместо OR s

if (lastName != null && username != null && firstName != null && password != null)
1 голос
/ 20 декабря 2011

Текстовое поле не будет возвращать нули.Он вернет пустую строку, поэтому вы должны сделать оператор 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.";
}
0 голосов
/ 20 декабря 2011

Значением пустых текстовых полей будет пустая строка, а не ноль.

0 голосов
/ 20 декабря 2011

Textbox.Text не возвращает нулевое значение, попробуйте сделать это с String.IsNullOrEmpty ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...