IClientStateManager is a helper interface from the Telerik library intended for use in the client state persistence feature of the controls. However not all controls implement it. Some controls, such as RadGrid have their own custom implementation of the client state persistence feature.
A base class for most of the telerik controls that support databinding and can visualize data is the RadCompositeDataBoundControl implementing the following standard ASP.NET classes and interfaces:
RadCompositeDataBoundControl : CompositeDataBoundControl, IScriptControl, IPostBackDataHandler
It also adds a variety of internal properties one of which is the ClientStateFieldID property:
//helper attribute indicating the property value will be serialized on the client
The property is used when the control renders a hidden input to hold all the client-side setting that will be serialized back to the server:
method as defined in the IPostBackDataHandler interface takes as first argument the key identifier for the control - which in the example above will be simply the ID of the control: RadGrid1. The second parameter is a NameValueCollection of all the data posted back to the server, among which we also have the value of the hidden input holding the client state. That's why in the LoadPostData method we use the ClientStateFieldID property to get this value and deserialize it to grid settings.
postDataKey, NameValueCollection postCollection)
clientState = postCollection[ClientStateFieldID];
I hope this helps.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.