Just in case anyone want to build his own ViewState here is an example:
For security (if your model contains information that should not displayed in the HTML source, you can encrypt it then decrypt it with the post back), also compression will be helpful for smaller response/request. (I think this is why MVC is better in performance, because NO ViewState :) )
In the form add a hidden field that will hold the viewstate, plus all your other controls.
You can also add in the ViewState a bool value indicating the IsPostBack, and use this value in the form or the code.