ASP .NET 2.0控件状态与ViewState

时间:2008-12-19 15:52:19

标签: asp.net viewstate

新的ControlState功能是否仅适用于自定义控件,还是可用于标准服务器控件?

那就是..你可以使用像Detailsview,Gridview这样的标准控件来禁用整个页面的ViewState吗?它还能用吗? ControlState是否适用于标准服务器控件?

或者为了使用ControlState进行标准服务器控件,您必须通过创建新的自定义GridView / DetailsView来修改它们的行为吗?

2 个答案:

答案 0 :(得分:2)

来自Microsoft Documentation

  

仅对小型使用控制状态   大量的关键数据   对控制至关重要   回发。不要使用控制状态   查看状态的替代方案。

从这里你可以猜到GridView和其他项目不会在ControlState中存储大量的信息,所以我猜想如果你想这样做,针对微软的建议,你将不得不扩展基础控制去做。

答案 1 :(得分:0)

您可以禁用所有页面的视图状态,但需要在每次回发中重新绑定datagrid,dataview。

有时它会更好地保存客户端上的巨大视图状态。

对于标准服务器控件:如果在init之后修改控件属性,则所有修改也将保存在ViewState中。

这是令人敬畏的Scott Mitchell Post about ViewState