ASP.NET Ajax makes it easy since UpdatePanel is capable to keep ViewState in sync, but if you insist using callbacks, you might have something to think. Basically first issue is that with callbacks the data to post to the server is gathered at WebForm_InitCallback()