When you refresh, you are calling the page via a GET, not a POST. Postback
events are POST (the form is posting (sending info) to the server).So, yes,
the viewstate is rebuilt as there is no POST event to send the viewstate
contents to the server.
NOTE: Viewstate is a hidden, encrypted tag in your page. It is not some form
of magic.
Possible solutions:
1. Post everytime a user changes anything (this could get heavy)
2. Use Ajax (Asynch JavaScript and XML) to update the data without a full
page refresh
Since you are refreshing at a rather rapid rate, you may still end up with a
situation where the user changes something and it is not reflected. Thus, one
other solution:
3. Change from meta refresh to a JavaScript POST refresh.
Before doing anything, ask if the 30 second automatic refresh is a mandatory
part of your application.