What is ViewState and How it is managed, Its Advantages/Benefits?

ViewState is a special object that ASP.NET uses to maintain the state of page and all webcontrols/ServerControls within it. It is in this object preserves the states of various FORM elements during post-backs. It is rendered to client(browser) as a Hidden variable __VIEWSTATE under
tag. We can also add custom values to it.