asp.net Пост / Запрос / Получить вопрос о валидации - PullRequest
1 голос
/ 21 февраля 2010

Я пытаюсь найти логичный и быстрый способ реализации стиля дизайна "PRG" на небольшом сайте, который я делаю, и я нахожу проблему, которую не могу придумать, как найти хороший способ ее решения. .

У меня есть форма. Имеет 2 поля (имя и фамилия). Когда пользователь отправляет форму, я проверяю, чтобы убедиться, что в них есть данные, прежде чем я сохраню их в базе данных. Если этого не произойдет, я покажу им маленькое приятное сообщение об ошибке и оставлю то, что они ввели, в форме.

Однако, чтобы правильно реализовать PRG, насколько я понимаю, мне нужно будет проверить при обратной передаче, определить, есть ли ошибка, а затем перенаправить пользователя на ту же страницу, но через get, а не post, что затем устранит любой вид страшного сообщения «вы собираетесь повторно отправить содержимое формы на сервер, что может иметь непредвиденные последствия ...» и т. д., если пользователь перезагрузил страницу.

Как я могу перенаправить пользователя обратно на ту же страницу и при этом сохранить его уже введенные значения в полях формы?

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

Что вы , мои коллеги-веб-программисты, делаете?

1 Ответ

1 голос
/ 21 февраля 2010

Как вы заметили, при перенаправлении вы потеряете введенные ими данные, если вы не пройдете несколько циклов QueryString. Делая это, вы действительно побеждаете одну из приятных возможностей asp.net - все значения форм сохраняются для вас, поэтому, если вам необходимо повторно отобразить страницу после сообщения с ошибками, большая часть работы сделана за вас. Почему вы хотите использовать дизайн PRG? Какую выгоду вы ожидаете получить от стандартной обработки форм asp.net?

...