Asp.net mvc 3个步骤+;确认MVC4

Asp.net mvc 3个步骤+;确认MVC4,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我想设计一个游戏创建控制器/视图过程,其中 用户将有步骤1:创建游戏,然后点击提交移动到步骤2:选择一个位置,然后到步骤3邀请朋友并确认网站的创建 在用户单击最终确认按钮之前,不应将数据提交到数据库 如何使用ASP.NETMVC4实现这一点(我目前正在使用EF5,并正确生成了所有模型等等) 我应该在每一步之后提交给服务器并要求显示第二个视图,还是有其他方法来处理这种设计 非常感谢您的反馈使用会话和获取/发布请求将是最简单的。请参阅这个过于简单的示例: class SignupContro

我想设计一个游戏创建控制器/视图过程,其中

用户将有步骤1:创建游戏,然后点击提交移动到步骤2:选择一个位置,然后到步骤3邀请朋友并确认网站的创建

  • 在用户单击最终确认按钮之前,不应将数据提交到数据库
如何使用ASP.NETMVC4实现这一点(我目前正在使用EF5,并正确生成了所有模型等等)

  • 我应该在每一步之后提交给服务器并要求显示第二个视图,还是有其他方法来处理这种设计

非常感谢您的反馈

使用会话和获取/发布请求将是最简单的。请参阅这个过于简单的示例:

class SignupController : Controller
{
    public ViewResult CreateGame()
    {
        // render the view
    }

    [HttpPost]
    public ViewResult CreateGame(Game model)
    {
        if (ModelState.IsValid)
        {
            // store "model" in session
            return RedirectToAction("location");
        }
        else
        {
            return View("edit", model);
        }
    }

    public ViewResult Location()
    {
        // render the view
    }

    [HttpPost]
    public ViewResult Location(int id, Location location)
    {
        if (ModelState.IsValid)
        {
            RedirectToAction("...")
        }
        else
        {
            return View("edit", location);
        }
    }
}

如果在最后一步之前您不想在Db上做任何事情,ASP.NET MVC4/实体框架在这一点上是不相关的。您关心的是Javascript。这个问题是基于观点的,因为它将取决于实现的风格。您可以使用ajax,用户将永远不会导航,从而保留客户端的信息。或者您可以存储信息会话中的格式化,以便用户可以从一页发布到另一页。或者,您可以在db表中有一个临时暂存区,在用户移动过程中保存信息。等等。使用@James comment,我会将其保存到db,因为您可以使用它生成统计信息(即启动但未完成注册过程的用户数)这是一个快速下降投票:)