The short answer is - don't use ASP.NET server controls in ASP.NET MVC. ViewState is not supported in MVC and using 'codebehind' files completely against the methodology of MVC - you don't 'handle events' you submit values to a controller which then handles the logic and returns a view.
As you don't seem clear on what MVC is, I would suggest that before embarking on an MVC project you first read Comparing Web Forms And ASP.NET MVC by Dino Esposito (MSDN). This should give you an overview on the differences between web forms and MVC. If you then wish to use MVC I would strongly suggest you visit http://www.asp.net/mvc/ and watch and read the tutorials to get a flavour for it. It's not something you can just dive into as it is a very different framework to standard web forms and requires a whole new mindset. Once you've done that, get a good book, such as Steve Sanderson's Pro ASP.NET MVC Framework (V2 is released in May, so wait for that).