如何在MVC控制器中的操作内使用重定向来退回浏览器历史记录的两个步骤?

时间:2018-09-20 19:50:12

标签: c# asp.net-mvc

我想知道如何在MVC控制器中的操作内使用重定向来回退浏览器历史记录的两个步骤?

我在Controller上有以下代码,这是一个后期操作,它可以使历史记录返回1步:

ORDER1

但是我需要后退2个步骤。

客户端上没有任何解决方案可以解决我的问题,因为我需要在控制器上的Action内部使用。 我希望使用javascript时,客户端上类似于.history(-2)的内容。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您的控制器应该控制模型和视图,而不是浏览器。

如果您需要这种行为,则必须在应用程序中跟踪用户的历史记录。如果用户通过了身份验证,则可以将其最后n个控制器操作的列表附加到用户对象,并使用诸如面包屑之类的信息。然后,您将根据需要从自己的列表中重定向它们。如果用户未通过身份验证,则可以使用会话变量。

如果您除了HTTP GET操作之外还有其他操作,那么所有这些操作都会更加复杂,因为您还必须保存任何表单变量并重新使用它们。

重新考虑需要返回两页的业务逻辑可能是个好主意。