ASP.NET MVC Web Applications: Adaptive UI Layout and Caching Strategy