Hmmm.. I used to think that storing ViewState on server side might be harmful. I think we can store it on server side without any harmful effects now. I am storing the ViewState in SQL Server and using GUID and assigning it to each page response. This is all done in BasePage. No change in code the app flying now! Works like Windows App, performance wise.