У меня проблема с проверкой! - PullRequest
0 голосов
/ 11 мая 2011

Я хочу проверить контроль самостоятельно. Поэтому, когда я нажимаю кнопку, я ставлю метку и условие.

 protected void sendButton1_Click(object sender, EventArgs e)
{
    if (QuestionDetailsTextBox2.Text.Length > 5000)
    {
        QuestionDetailsTextBox2.Text = "You cant enter more than 5000 characters";
    }
    else if(QuestionTextBox1.Text.Length > 100)
    {
        QuestionDetailsTextBox2.Text = "You cant enter more than 100 characters";
    }
    else if (checkValidation())
    {

        QuestionTextBox1.BorderColor = System.Drawing.Color.Red;
    }
    else
    {
        Response.Redirect("AnswerQuestion.aspx");
    }
}

Я добавил валидатор регулярного выражения. Но я также сделал это:

  protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e)
{
    SubTopicDropDownList.Items.Clear();

    string[] chosenItem = topic[topicDropDownMenu.SelectedItem.Value];

    foreach (string item in chosenItem)
    {
        SubTopicDropDownList.Items.Add(item);
    }

}

Опять же, мне нужно дважды нажать кнопку, чтобы она перенаправила меня: (... Аякс еще нужен?

Ответы [ 2 ]

2 голосов
/ 11 мая 2011

Если вы хотите немедленного ответа, вам придется перенести логику проверки на клиент.Обычно это означает, что вы пишете свою логику проверки в javascript и вызываете ее из события нажатия кнопки на стороне клиента или события изменения текстового поля перед обработкой событий обратной передачи.

Выполнение проверок в коде требует обратной передачи на сервер.Делаете ли вы это таким образом и отправляете обратно всю страницу или используете ajax и выполняете частичную обратную передачу, существует задержка, пока данные отправляются на сервер, а клиент ожидает ответа.Насколько велика задержка, зависит от объема передаваемых данных и состояния сети.Вот почему Ajax, как правило, быстрее, он отправляет меньшие пакеты данных.

Однако, если вы обрабатываете проверку на стороне клиента, обычно рекомендуется повторить логику проверки в приведенном ниже коде.Это нужно для обнаружения любых случаев, когда у пользователя отключены сценарии на стороне клиента.

1 голос
/ 11 мая 2011

Вы ищете Частичное обновление страницы .

Вы можете использовать AJAX и UpdatePanel .

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