ASP.NET 自定义控件 - 回发的替代方案?

标签 asp.net postback viewstate custom-server-controls

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

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

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

我正在寻找的是:

除了使用 PostBack 模型来初始化控件之外,我们还有哪些替代方案?

我知道我们可以使用QueryString,但这看起来非常困惑,而且显然不可靠。

理想情况下,您可以向我概述不同方法的架构/设计及其优缺点。

非常感谢^_^

最佳答案

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

关于ASP.NET 自定义控件 - 回发的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75805/

相关文章:

Asp.Net MVC - 重载操作方法

javascript - 在 javascript 中检索隐藏字段值的问题

javascript - 如何使用 jQuery 访问动态创建的页面元素(不是事件,元素!)

asp.net - 如何不保留不需要保留在 ViewState 中的 ViewState 内容?

javascript - 如何使用 javascript 或 jquery 清除 gridview

javascript - 如何在 Asp.Net 按钮单击事件上将值从 C# 发送到 javascript?

javascript - 如何执行 javascript 代码来引发回发

asp.net-mvc-3 - 如何修复来自 Shibboleth 的 SAML SSO 后的浏览器后退按钮问题

asp.net - View 状态 MAC 验证失败

asp.net - 使用复选框列表切换 div 可见性