ViewState is used to store data that can be used on postback to the same page whereas Session is also used to store data but the data stored in Session can be used anywhere in the webapplication. Only serializable objects can be stored in ViewState. ViewState information is rendered on the page in encrypted form when the page is rendered on browser whereas session data is stored on server.