Разница между ViewState и ControlState заключается в том, что ViewState может быть отключен разработчиком, тогда как ControlState не может быть отключен .
Поэтому при разработке пользовательских элементов управления, когда использовать ViewState или ControlState?
- Основные данные , которые должны сохраняться в течение всех обратных передач с отключенным ViewState и которые необходимы для правильного функционирования пользовательского элемента управления, должны быть помещены в ControlState .
- Все остальные данные: используйте ViewState .
Обычно, если постоянство данных можно рассматривать как функцию, использует ViewState . Например, в некоторых сценариях удобно, когда DropDownList сохраняет все свои элементы в ViewState, а в других сценариях предпочтительнее просто повторно привязать элемент управления (и сохранить размер страницы и объем данных для публикации на низком уровне).