Вопрос

У меня есть несколько текстовых полей и кнопка сохранения, чтобы что-то обновить. Когда я нажимаю Сохранить, у меня есть код, который определяет, правильно ли они заполнены, в коде файла.

Если они заполнены неправильно, я хочу отобразить сообщение об ошибке в форме предупреждения.

Каков наилучший способ сделать это? Нажатие кнопки, очевидно, вызывает обратную передачу страницы, поэтому я подумал о добавлении чего-либо в URL, например, mypage.aspx? Errormessage = blahblah , но я не знаю, является ли это лучшим способом или даже как это сделать это ...

Есть предложения?

Это было полезно?

Решение

Модальные оповещения плохие, как и обратные передачи. Постарайтесь проверить как можно больше на стороне клиента без обращения к серверу. См. jQuery Validation для менее навязчивого способа проверки.

Другие советы

Не могли бы вы использовать CustomValidator для запуска скрипта на стороне клиента, который отображает окно с предупреждением?

Вы можете использовать метод ClientScript.RegisterStartupScript () в коде обработки ошибок на стороне сервера, чтобы написать фрагмент кода JavaScript, который вызывает alert ('message'), что-то вроде этого

private void ShowErrorMessage(string message)
{
    string script = "alert('" + message + "');";
    ClientScript.RegisterStartupScript(typeof(MyPage), "errorScript", script, true);
}

Но я бы порекомендовал вам использовать валидатор. Если вы реализуете свой собственный валидатор, вы можете заставить его создавать сценарии на стороне клиента, которые могут выполняться перед отправкой, чтобы вообще избежать обратной передачи.

В валидаторах хорошо то, что их сообщения об ошибках могут отображаться в ValidatorSummary на странице, избегая появления уродливого окна предупреждения.

Прежде всего, я не рекомендую показывать пользователю модальное окно предупреждения.

Вы можете вызвать функцию javascript из кода на стороне сервера, и в этой функции вы можете вызвать ошибку.

Или вы можете выполнить запрос AJAX, и после проверки на стороне сервера вы можете отправить ответ клиенту.

Различные элементы проверки ASP.NET (с включенной проверкой на стороне клиента) в сочетании с надлежащими сообщениями об ошибках и / или сводными сообщениями подойдут для большинства сценариев.

Для «ощущения и поведения AJAX» поместить элементы управления в панель обновлений также будет легко.

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

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

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

Затем есть свойство для объявления «сообщения» и элемент управления для отображения всех сообщений валидатора. Все очень круто и встроено прямо в IDE.

Пойдите, проверьте элементы управления валидатора.

Попробуйте следующий код в событии нажатия кнопки:

string strErr="Error!";//Put your error message here
ClientScript.RegisterStartupScript(GetType(), "scrptName", "javascript: alert('"+strErr+"'); ", true);

Появится предупреждающее сообщение.

В противном случае поместите метку на страницу aspx и установите видимое значение false в событии page_load. При возникновении ошибки в событии кнопки установите видимость метки «true» и заполните текст метки сообщением об ошибке.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top