2012-05-11 65 views
0

在我的web应用程序中,我有一个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); 
    } 

任何人都可以公会我一些例子吗?

回答

1

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

最好的方式去做这个会议。

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

那么你不必担心绕过所有其他网页的细节。

+0

嗨,isit可以存储会话上的网页的状态。然后我可以从会话中得到结果。 – user998405

+0

这是可能的,但我建议你不要存储完整的视图状态结果,因为它们会有较少的可预测结果。如果我是你,我会将用户调整的参数存储在像CurrentPage,SortByColumn等自定义类中。尝试并保持整页面状态返回是危险的,因为您在更改数据时会遇到问题。如果你确实需要保持数据的性能,那么我会使用缓存..再次避免存储完整的视图状态。 – Gats