如何实现一个页面包含一个表单,并在发布后用户可以刷新而不要求重新发布?

时间:2010-11-28 01:18:51

标签: asp.net-mvc-2

我正在创建一个网站,我希望用户在发送到数据访问层之前注册和验证字段 该页面包含2个表格,登录和注册表格 当用户按下注册按钮时,页面的URL变为/ uers / register,但如果用户刷新页面,浏览器会询问他是否要重新发布。
我想实现它,就像用户刷新页面一样,它不会要求重新发布。

通过示例使事情变得更加清晰:转到stackoverflow.com登录页面并按下open with openid,它将显示错误消息但刷新页面时不会要求重新发布。

stackoverflow如何在表单发布时执行此操作?

1 个答案:

答案 0 :(得分:1)

这称为redirect after post模式,在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");
}