3

我是一个完整的 ASP 新手,致力于通过 WinForms 应用程序进行转换。

在我的 Winforms 版本中,我有一个主窗体,它从用户那里获取输入并有一个按钮Select OutPut Columns

当用户单击该按钮时,会弹出第二个表单,其中包含一个复选框列表,该列表根据用户在其输出报告中可用的所有列的 DB 查询动态填充。

一旦用户在他们的报告中检查了他们想要的所有列,他们单击一个Done按钮,该按钮在主窗体上设置一个List(of String)属性并选择列,因此程序可以继续生成报告。

我正在尝试在我的 ASP 项目中模拟同样的功能 - 根据我所读到的内容,似乎SessionorCache对象是解决这个问题的方法 - 我的问题是:

  1. 这些是获取/存储这些数据的正确方法吗?
  2. 鉴于以下情况,我应该使用哪一个(会话/缓存):

    (a) 用户可以再次单击该按钮,我希望程序记住他们已经选择了哪些列。

    (b) 不同的用户可能会选择不同的列(由于这个原因,似乎 Cache 在这里可能无法正常工作 - 我说得对吗?)

  3. 只要应用程序在用户的机器上运行,我希望变量持续存在,但是如果用户关闭/重新打开应用程序,我希望它不要记住他们以前的选择。

真的,正如我所说,我是一个完整的 ASP 新手,并且愿意学习任何新的/有帮助的东西 - 任何好的想法/评论/链接都将是 !!GREATLY!! 赞赏!

谢谢!!

编辑:

作为一个额外的问题,如果使用 Session / Cache,在应用程序启动时删除这些变量以确保新数据是司空见惯的,还是通常不这样做?

4

2 回答 2

2

您想使用该Session对象。每个用户都不同,它会在一段时间没有看到用户后过期(实际过期时间和行为是可配置的)。会话作为 cookie 标识符存储在用户的网络浏览器中。如果用户关闭浏览器,cookie 将被删除,他们将在下次连接到 Web 服务器时获得一个新会话。旧会话最终将超时。

于 2013-02-27T18:37:36.100 回答
1

在我的 Winforms 版本中,我有一个主窗体,它从用户那里获取输入,并有一个按钮 Select OutPut Columns。

当用户单击该按钮时,会弹出第二个表单,其中包含一个复选框列表,该列表根据用户在其输出报告中可用的所有列的 DB 查询动态填充。

这是windorms上的方式,现在如果你制作一个Web界面最好像网页一样工作,最简单的方式1 - 那是什么?避免弹出窗口,并使用发布到下一页(或同一页)。

所以你有一个页面,用户选择一些东西,在服务器上发布,在同一页面上创建复选框并等待第二个用户输入。在最终输入之后,再次发布到同一页面,现在您在页面中拥有所有用户输入以进行输出

没有对话框,没有其他记忆,帖子在同一页面上完成,帖子保留用户输入。

1 (开始时不是 jQuery 对话框和 ajax 调用)

于 2013-02-27T18:45:40.850 回答