这是我正在尝试做的事情:
用户访问网页(asp.net Web应用程序),进行选择并应用过滤器来呈现屏幕。现在我正在寻找一种方法与其他可以访问该应用程序的人分享这个视图。
虽然在一个简单的场景中,这可以通过查询字符串和共享URL来实现,但是如何在更复杂的情况下实现这一点,其中应用了一堆选择/过滤器来呈现视图?
首先,我实现了一个基本框架。数据结构将保存键值对,表示控件和与之关联的值。我将它保存到数据库中,页面将负责解析键值集合并自行渲染,但我认为当有复杂的控件(如具有分组,过滤等功能的网格)时,这可能不实用。
最重要的是,如果解决方案没有强制aspx以某种方式实现以便它们被持久化,那将会很棒。
任何建议。
由于
答案 0 :(得分:1)
您可以使用静态变量。什么是静态的,即共享的。
简单地说:静态变量属于应用程序。所有打开的窗口都属于同一个应用程序,这应该与标准设置一起使用。
请注意,在大型Web服务器上,可以设置IIS以运行同一应用程序的多个实例。在这种情况下,静态变量不会如此简单地共享。但我认为这是一个特例,你可以省略它。
答案 1 :(得分:1)
只是头脑风暴,但这里...... 由于您将控件及其数据(基本上是自定义视图状态)存储在键值对中,并将该信息存储在数据库中,因此将该关键字与该状态信息相关联。然后只需将该键附加到查询字符串,当用户访问该页面时,在数据库中查找该键并使用为其保存的数据加载控件,为该键和...获利?
所以你的链接看起来像: http://www.mysite.com/mypage?id=SomeKey
如果不知道真正的意图和复杂性,这可能看起来过于简单化,如果我完全错过了这个标记,我会道歉。
答案 2 :(得分:0)
如果您使用的是第三方网格控件,他们可能会将此过滤器状态存储在Cookie中。您可以插入此系统以将网格状态作为特殊情况保留。类似于1)从数据库中的网格响应cookie存储数据2)从数据库中检索cookie信息,将其添加到响应cookie集合。