Как реализовать страницу, содержащую форму, и после публикации пользователь может обновить, не прося перепостить? - PullRequest
1 голос
/ 28 ноября 2010

Я создаю веб-сайт и хочу, чтобы пользователь зарегистрировал и проверил поля перед отправкой на уровень доступа к данным.
Страница содержит 2 формы, формы для входа и регистрации.
Когда пользователь нажимает кнопку регистрации, URL страницы становится / uers / register, но если пользователь обновил страницу, браузер спрашивает его, хочет ли он сделать репост или нет.
Я хочу реализовать это так, как если бы пользователь обновил страницу, которая не будет запрашивать репост.

Чтобы прояснить ситуацию на примере: перейдите на страницу входа в stackoverflow.com и нажмите «Войти» с пустым openid, появится сообщение об ошибке, но при обновлении страницы он не будет запрашивать повторную публикацию.

Как это делает stackoverflow, пока форма не отправляется?

1 Ответ

1 голос
/ 28 ноября 2010

Это называется перенаправлением после шаблона и в ASP.NET MVC это может выглядеть так:

public ActionResult Index()
{
    var model = new SomeViewModel();
    return View(model);
}

[HttpPost]
public ActionResult Index(SomeViewModel model)
{
    if (!ModelState.IsValid)
    {
        // validation failed => redisplay the form
        return View(model);
    }
    // Validation passed => update database and redirect
    return RedirectToAction("Index");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...