即使在asp.net中回发后,如何维护包含控件的页面的状态

时间:2013-10-22 05:20:31

标签: c# asp.net

我有一个包含下拉菜单和网格视图控件的页面。用户选择下拉列表并填充gridview。我在网格视图中为每一行提供评级。当用户尝试对行进行评级时,我需要将其重定向到登录页面。一旦登录,他需要被重定向回同一页面,并且所有下拉列表和网格都已填充。

要实现这一目标,如何保持状态以及最佳方法是什么。 请帮帮我。谢谢你

3 个答案:

答案 0 :(得分:0)

全部取决于网格的大小和用户数量? 如果网格很小并且站点上没有很多用户,您可以将Grids DataSource存储到Session对象中,然后检查pageload是否存在对象然后预填充网格。 (还存储选定的下拉值并进行设置)

如果网格很大和/或您将拥有许多用户。 您可以将下拉列表选定值存储在cookie(或会话)中,然后在页面加载时检查该cookie是否存在,如果设置了下拉列表并从数据库重新加载网格数据

答案 1 :(得分:0)

你在这里有不同的选择。

  1. 在会话状态下保存gridview的数据源(Daveo建议)
    • 问题在于它过期并且取决于表的大小可能存在内存资源问题
  2. 使用查询字符串重定向到登录页面

    一个。像window.location =“../ loginpage.aspx?value1 =''& value2 =''”的东西
    湾然后在登录按钮上单击检查value1是否为空是否重定向到您的页面,例如window.location =“../ userratingpage.aspx?value1 =''& value2 =''”
    C。使用查询字符串值填充gridview
  3. 另一个建议是为登录设置一种弹出屏幕,而不是重定向页面。您将不再有保留状态的问题,它看起来会更具互动性。就像其他网站的“登录Facebook”功能一样

答案 2 :(得分:0)

Ajax Modal弹出窗口将为您提供更多选择,而不是其他人。

以下是它的一个示例。

http://www.codeproject.com/Articles/24924/Login-SignUp-Screen-Using-AJAX-ModalPopupExtender