Viewstate is used to maintain or retain values on postback. It helps in preserving a page. It is internally maintained as a hidden field in encrypted form along with a key.
- If a site happens to not maintain a ViewState, then if a user has entered some information in a large form with many input fields and the page is refreshes, then the values filled up in the form are lost.
- The same situation can also occur on submitting the form. If the validations return an error, the user has to refill the form.
- Thus, submitting a form clears up all form values as the site does not maintain any state called ViewState.
- In ASP .NET, the ViewState of a form is maintained with a built-in state management technique keeps the state of the controls during subsequent postbacks by a particular user.
- The ViewState indicates the
status of the page when submitted to the server. The status is defined
through a hidden field placed on each page with a <form
<input type="hidden" name="__VIEWSTATE" value="CareerRide">
- The ViewState option can be disabled by including the directive <%@ Page EnableViewState="false"%> at the top of an .aspx page
- If a ViewState of a certain control has to be disabled, then set EnableViewState="false".
i) No server resources.
ii) Viewstate ensures security because it stores the data in encrypted format.
iii) Viewstates are simple. They are used by enabling or disabling the viewstate properties.
iv) It is based on the wish of developer that they want to implement it at the page level or at control level.
i) If large amount of data is stored on the page, then page load might cause a problem.
ii) Does not track across pages. Viewstate information does not automatically transfer from page to page.