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

本文关键字:控件 维护 包含 状态 asp net | 更新日期: 2023-09-27 18:36:30

我有一个带有下拉列表和网格视图控件的页面。用户选择下拉列表,网格视图将填充。我正在为网格视图中的每一行提供评级。当用户尝试对行进行评级时,我需要将他重定向到登录页面。登录后,他需要重定向回同一页面,并填充所有下拉列表和网格。

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

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

一切都取决于网格的大小和用户数量?如果网格很小并且站点上没有很多用户,则可以将网格数据源存储到会话对象中,然后在页面加载时检查该对象是否存在,然后预填充网格。 (同时存储选定的下拉值并进行设置)

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

你在这里有不同的选择。

  1. 在会话状态中保存网格视图的数据源(Daveo 建议)
    • 这样做的问题是它会过期,并且根据表的大小可能会遇到内存资源问题
  2. 重定向到包含查询字符串

    的登录页面一个。类似于 window.location="../loginpage.aspx?value1=''&value2=''"
    b.然后在登录按钮上单击检查 value1 是否不为空,再次重定向到您的页面,例如 window.location="../userratingpage.aspx?value1=''&value2=''"
    c. 使用查询字符串值填充网格视图

另一个建议是使用一种用于登录的弹出屏幕,而不是重定向页面。您将不再在保留状态时遇到问题,并且它看起来更具交互性。就像其他网站的"使用Facebook登录"功能

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

这是它的示例。

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