知道在单独的页面上检查了哪些复选框

时间:2013-02-27 18:33:01

标签: c# asp.net .net vb.net

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

在我的Winforms版本中,我有一个主要表单,它从用户那里获得输入并有一个按钮Select OutPut Columns

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

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

我正在尝试在我的ASP项目中模拟相同类型的功能 - 基于我所阅读的内容,似乎SessionCache对象是这样做的 - 我的问题是:

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

    (a)用户可以再次点击该按钮,我希望程序能够记住他们已选择的列。

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

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

  4. 真的,就像我说的,我是一个完整的ASP新手,我愿意学习任何新的/乐于助人的 - 任何好的想法/评论/链接都将是!!非常棒!!理解!

    谢谢!

    编辑:

    作为一个额外的问题,如果使用会话/缓存,在应用程序启动时删除这些变量是否常见,以确保新数据或通常不会这样做?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

  

在我的Winforms版本中,我有一个主要表单,可以从中获取输入   用户并有一个按钮选择OutPut Columns。

     

当用户点击该按钮时,弹出第二个表单,其中有一个   基于数据库查询动态填充的复选框列表   所有可供用户使用的列   输出报告。

这是关于风暴的方式,现在如果你创建一个web界面更好地像网页一样工作,最简单的方式 1 - 那是什么?避免弹出窗口,并使用post到下一个(或相同的)页面。

因此,您有一个用户选择内容的页面,在服务器上发布,在同一页面上创建复选框并等待第二个用户输入。在最终输入之后,再次发布到同一页面,现在您在页面中输入了所有用户输入

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

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