动态控制页面导航

时间:2015-02-26 22:47:07

标签: asp.net-mvc asp.net-mvc-4

我正在创建一个需要动态页面导航的ASP.NET MVC 4应用程序(基于用户输入参数 - 它们将按特定顺序导航某些网页)。我试图通过在用户指定其输入参数后创建“导航”对象来控制用户的导航。当用户导航应用程序时,navigation.getNextPage()允许我将用户发送到应用程序的下一页。每个用户应该只有一个导航对象的实例(即与应用程序交互的单例)。

我遇到的挑战是在应用程序实例的整个生命周期中保持导航对象的活动。我无法创建静态单例,因为静态成员在应用程序的所有实例之间共享(并且每个用户的导航顺序将不同)。我尝试在HttpContext.Current.Items中存储一个导航对象,但该对象似乎仅用于单个请求(并且不断地将[tempData]从所有控制器中拉出/拉出太过hackish并且不符合良好的OO原则)。

  1. 如何在应用程序实例的整个生命周期中“正确”保留导航对象(即用户的一个“交互”)?

  2. 是否有更正确的方法在ASP.NET MVC 4中实现动态页面导航?

1 个答案:

答案 0 :(得分:0)

我认为你应该使用Session对象? Session的主要用途是在用户在Web应用程序中导航ASP.NET页面时为用户存储和检索值。

https://msdn.microsoft.com/en-us/library/ms178581%28v=vs.140%29.aspx