【问题标题】:Maintained state of a web page网页的维护状态
【发布时间】:2012-05-11 16:07:08
【问题描述】:

在我的网络应用程序中,我有一个 GridView 和一些其他控件。用户可以对网格视图进行排序和过滤。他们还允许单击链接并转到其他页面。然后他们也可以转到其他更多页面。但是当他们回到第一个 gridview 页面时。网格与他们离开页面的内容相同。比如分页、排序等。

我找到了一个解决方案。但我不是很明白。 http://www.codeproject.com/Articles/7655/Persisting-the-state-of-a-web-page

这是我的编码 WebForm1.aspx

  protected void Button2_Click(object sender, EventArgs e)
    {

                    PersistentStatePage abc = new PersistentStatePage();
        abc.RedirectSavingPageState("WebForm2.aspx");
    }

WebForm2.aspx

 protected void Button1_Click(object sender, EventArgs e)
    {
        PersistentStatePage.RedirectToSavedPage("WebForm1.aspx", true);
    }

谁能给我举个例子?

【问题讨论】:

    标签: c# asp.net .net-4.0 viewstate


    【解决方案1】:

    那篇 codeproject 文章并不真正适用于这种情况。这是关于将视图状态保存到安全的服务器位置,而不是将其全部发送给隐藏的输入字段中的用户,这会导致大量膨胀。

    最好的方法是会话。

    创建一个自定义对象来存储您想要保留的信息并将其放入会话中。 查看以下关于使用会话的文章http://asp.net-tutorials.com/state/sessions/

    那么您不必担心在所有其他页面中传递详细信息。

    【讨论】:

    • 嗨,是否可以在会话中存储网页的这些状态。然后我可能会从会话中取回结果。
    • 这是可能的,但我建议您不要存储完整的视图状态结果,因为它们的可预测性较差。如果我是你,我只会将用户调整的参数存储在自定义类中,如 CurrentPage、SortByColumn 等。尝试保持完整页面状态以返回是很危险的,因为你会遇到数据更改的问题。如果您确实需要保留数据以提高性能,那么我会使用缓存......再次避免存储完整的视图状态。
    猜你喜欢
    • 2016-12-30
    • 1970-01-01
    • 2023-03-07
    • 2013-01-27
    • 2023-03-09
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多