ViewState data is stored in the hidden field. When the page is submitted to the server the data is sent to the server in the form of hidden fields for each control. If th viewstate of the control is enable true te value is retained on the post back to the client when the page is post backed.
View State data is stored in Hidden Field. This is fine as far as small amount of data is stored. What will happen if I want to store large chunk of data (I know View state is not preferred in such scenario just let us assume). In that case multiple hidden field controls will be created automatically to accommodate the data.
Note: View state data will be serialized to a base-64 encoded string before stored in Hidden Field.