我知道ASP.NET不允许禁用控件状态。
有人知道为什么?我已经google了很多但只看到它不可能,但却找不到“为什么?”
欢迎任何有关此事的想法!
P.S。在我的特定情况下,我需要将大量项目放入下拉列表中,该列表不会用于服务器端事件。而不是仅仅禁用控制状态我需要编写自己的自定义DropDownList ... :(
答案 0 :(得分:3)
控制状态与视图状态分离,因此可以在不破坏关键功能的情况下禁用视图状态。理论上,控制状态应该包含服务器控件正常运行所需的一切。
ASP.NET 2.0版中引入的控件状态是 类似于视图状态但在功能上独立于视图状态。一个 页面开发人员可以禁用页面或页面的视图状态 个人控制表现。但是,控制状态不可能 禁用。控制状态旨在存储控件的必要条件 必须可用的数据(例如寻呼机控件的页码) 回发以使控件即使在视图状态具有时也能正常工作 被禁用了。
http://msdn.microsoft.com/en-us/library/1whwt1k7(v=vs.100).aspx
然而...... ASP.Net在做出这种区分方面做得不好,禁用视图状态确实会破坏某些服务器控制,尽管有强制控制状态。
在您的情况下,禁用下拉列表的视图状态应该删除绝大多数状态数据;对于禁用视图状态的下拉列表,控制状态通常非常小。我建议先写一下你自己的。