ASP.NET自定义控件 - PostBack的替代品?

Rob*_*per 5 asp.net viewstate postback custom-server-controls

在我进入自定义ASP.NET控件开发深度的过程中,我显然已经了解了ASP.NET PostBack模型以及它如何影响控件开发.

我知道控件在ASP.NET中没有"生命周期",因此必须在每次加载页面时重新初始化.我们通过将对象值/参数持久化到ViewState来克服这个问题.

因此,我阅读的许多文章都建议不要使用PostBack,因为这会给页面增加相当大的开销.我不是在寻找如何禁用它,我知道.

我在寻找的是:

我们有什么替代方法来使用PostBack模型来初始化控件?

我知道我们可以使用QueryString,但这看起来非常混乱,显然不可靠.

理想情况下,您可以概述一下不同方法的架构/设计以及它的专业/概念.

非常感谢^ _ ^

Gre*_*man 3

嗯,Session State 是一个服务器端解决方案,如果您想完全避免使用 ViewState,那么它有自己的一堆麻烦事需要处理。实际上,在自定义控件中使用 ViewState 是很好的 - 只是对您存储的内容挑剔 - 只存储声明的控件状态的增量,不要存储任何您将在回发中获得的内容(例如从数据库调用)等