在ASP MVC 4中的几个视图/控制器之间传递模型

Dan*_*lba 6 c# asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我有一个设计问题.我正在我的网上实施一个购买流程,它包含4个步骤:

A -> B -> C <-> D -> E
Run Code Online (Sandbox Code Playgroud)
  • :构建一个PurchaseModel对象并将POST其构建到B.
  • B:显示购买摘要.
  • C,D:登录/注册.如果用户已经登录,则此步骤是可选的.用户可以从C转到D,反之亦然.
  • E:发贴到贝宝

我需要PurchaseModelAE的旅行,所以我的问题是:

如何通过PurchaseModel控制器/视图之间的传递?在这种情况下,推荐的解决方案是什么?

注意:A,B,C和D是具有该属性的控制器[AllowAnonymous].

UPDATE

正确的存储PurchaseModel在步骤B会话变量,然后在其他的控制器使用它呢?

Rob*_*est 2

我认为一个动作应该只采用与其相关的参数。在注册或登录的情况下,我将这些视为单独的问题,因此将 PurchaseModel 传递给它们是错误的。如果您在与所有步骤相关的不同步骤之间传递数据,我将通过传递通用视图模型或相互继承的模型来完成此操作,但由于这不是您的情况,我将在会话中存储。这不会受到登录的影响。