我的结帐流程具有以下工作流程:
结帐页面
收件地址
编辑送货地址(添加/编辑)
运输方式
付款
下订单
以上每个步骤在同一控制器中都有其自己的动作。
现在的问题是,如果该人到达#5,并且想要编辑地址,他们将回到#3。
但是,当他们点击“提交”时,他们将进入下一步,即#4,但是应该直接回到#5。
我知道我可以通过查询字符串/表单传递信息,并告诉#3检查该键的存在(如果存在),然后重定向到#5。
在asp.net-mvc中(或一般而言)是否存在任何经过验证的最佳实践技术来管理这样的工作流程?
最佳答案
通常,我将建立一个会话来存储用户的状态和数据,并从中确定下一步。因此,在被调用时,控制器可以运行一些逻辑来确定用户所处的状态,然后调用呈现代码以输出与用户当前状态关联的表单。
恕我直言,这简化了流程,因为您无需将“我的下一个状态是什么”检查委托给表单级别,而是委托给一个集中的位置,这使得轻松添加新的业务逻辑成为可能。
希望这可以帮助!
(您可以将会话替换为不可见的表单字段,查询字符串等)。
关于c# - 结帐流程工作流程,重定向存在问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2072245/