Summary
ASP.NET MVC is a very good platform for creating unit-testable applications that are maintainable in the long run, as well as for achieving a clearer separation between the UI and the UI-handling logic. In the previous chapter, we learnt the n-tier architecture, but the GUI in such an architecture was still not easily testable as we had a lot of embedded UI code in code-behind classes that was dependent on ViewState and postbacks. But in MVC, the concept of ViewState and postback does not exist as each request is unique in and of itself. This also presents some technical challenges if you have a complex UI, such as a GridView with inline edit or update functionality with a lot of AJAX functionality, where MVC may not work as expected (though the upcoming ASP.NET MVC framework releases will offer more flexible solutions to handle such cases).
Also, server controls such as DropDownList
may not work as expected in the ASP.NET MVC framework, since there would be no control-level events...