动态控制页面导航
Dynamically Control Page Navigation
我正在创建一个 ASP.NET MVC 4 应用程序,它需要动态页面导航(基于用户输入的参数——他们将按特定顺序导航特定网页)。我试图通过在用户指定输入参数后创建一个“导航”对象来控制用户的导航。当用户浏览应用程序时,navigation.getNextPage() 允许我将用户发送到应用程序的下一页。每个用户应该只有一个导航对象实例(即一个用于与应用程序交互的单例)。
我面临的挑战是在应用程序实例的整个生命周期中保持导航对象处于活动状态。我无法创建静态单例,因为静态成员在应用程序的所有实例之间共享(并且每个用户的导航顺序都会不同)。我尝试在 HttpContext.Current.Items 中存储一个导航对象,但该对象似乎只为单个请求而存在(并且在我所有的控制器中不断地从 [tempData] putting/pulling 太老套并且不符合良好的 OO 原则).
如何在应用程序实例的整个生命周期中“正确”保留我的导航对象(即用户的一次“交互”)?
是否有更正确的方法在 ASP.NET MVC 4 中实现动态页面导航?
我想你应该使用 Session 对象? Session 的主要目的是在用户浏览 Web 应用程序中的 ASP.NET 页面时为用户存储和检索值。
https://msdn.microsoft.com/en-us/library/ms178581%28v=vs.140%29.aspx
我正在创建一个 ASP.NET MVC 4 应用程序,它需要动态页面导航(基于用户输入的参数——他们将按特定顺序导航特定网页)。我试图通过在用户指定输入参数后创建一个“导航”对象来控制用户的导航。当用户浏览应用程序时,navigation.getNextPage() 允许我将用户发送到应用程序的下一页。每个用户应该只有一个导航对象实例(即一个用于与应用程序交互的单例)。
我面临的挑战是在应用程序实例的整个生命周期中保持导航对象处于活动状态。我无法创建静态单例,因为静态成员在应用程序的所有实例之间共享(并且每个用户的导航顺序都会不同)。我尝试在 HttpContext.Current.Items 中存储一个导航对象,但该对象似乎只为单个请求而存在(并且在我所有的控制器中不断地从 [tempData] putting/pulling 太老套并且不符合良好的 OO 原则).
如何在应用程序实例的整个生命周期中“正确”保留我的导航对象(即用户的一次“交互”)?
是否有更正确的方法在 ASP.NET MVC 4 中实现动态页面导航?
我想你应该使用 Session 对象? Session 的主要目的是在用户浏览 Web 应用程序中的 ASP.NET 页面时为用户存储和检索值。
https://msdn.microsoft.com/en-us/library/ms178581%28v=vs.140%29.aspx