Hidden Field is server control and Viewstate is variable.
View state will store large amount of data but hidden filed will store small amount of data.

2

May, 201511

View state is secure. Hidden field is insecure
View state store large amount of data .Hidden field will store small amount of data.

0

Nov, 201215

The View State is client state mechanism in the ASP.Net statement management.The view state is control it will be used to maintain the state of the control across the posted back to the server. The value will be stored in the hidden control. Every time it needs to encryption and decryption (serialize and deserialize across the post backs).The view state can be enabled by setting the property called EnableViewState="true/false". It can be set in the machine config/ web config/ page directives/ control level.By default it is false. You can enable it by setting boolean flag.This can be used with in the page and not across the page.Viewstate["Version"] = txtVersionName.Text.ToString();The view state also can store the data using the key and value combination. The data will be serialized and stored in the hidden control You can view the source code page and find the hidden control with _viewstate.Drawbacks:
- Increase the page payload (when you have grid with many rows then every thing has to be loaded and retain again with serialize and deserilize)
- Additional overhead while serialize and deserialize.
- Increase the memory allocation on the server.You can see the assigning and retrieval of view state in asp.netprotected void Button1_Click(object sender, System.EventArgs e) { ViewState["FavoriteColor"] = TextBox1.Text.ToString(); ViewState["City"] = TextBox2.Text.ToString(); Label1.Text = "Your data saved in ViewState."; } protected void Button2_Click(object sender, System.EventArgs e) { string color = (string)ViewState["FavoriteColor"]; string city = (string)ViewState["City"]; Label1.Text = "Hi your favorite color is: " + color + "and you came from: " + city; } The HiddenField control provides you with a way to store information in the page without displaying it. For example, you might store a user-preference setting in a HiddenField control. To put information into a HiddenField control, you set itsValue property to the value you want to store between postbacks.As with any other Web server control, the information in a HiddenField control is available during postback. The information is not persisted outside the page.The ASP.Net Hiddenfield will be created like this.Tht HTML hidden field will be defined like this. If you want to assign the value from the server side thenhidName.Value = "Testing";