This question is locked. New answers and comments are not allowed.
I've been working on switching our application over to MVC and while overall I really like it, my biggest dislike for it is all the helpers, all the overloads, and laying out complex pages with complex controls. I look at your accordian and tab samples and that's exactly what I really hate about MVC. It just doesn't look intuitive. It's not easy to read. It's almost like going back to the classic asp days. Entry level developers don't grasp it.
Why not just generate a new set of mvc controls that don't use viewstate, events, etc. Or give your existing controls an mvcmode flag? This is what I've done initially. I wrapped jQueryGrid with my own custom control. I declare the grid in my page just like any other control. And I set the url. Clean html. No viewstate. I can even use it in an asp.net app. Isn't all this jquery stuff really just offloading the ui to the browser?
And if people need to get data into a control or custom set properties, they can just put a <% control.DataSource=this.Model %> after the control declaration? After all, using the helper is the equivalent of putting inline code into the page. Why not just lay the page out like one normally would have and then put that inline code all at the bottom? Or just after each control?
IMO, the biggest issue with controls, after the quality of html they generate, is that you can't use <% %> in declaring them.
But you can't really beat the easy of editting and readability of a control laid out like xml vs mvc helper spaghetii code.
I really pray MS comes up with a better alternative to helpers. Maybe providing an option to delay the processing of controls until the very end so that we can use <% %>. If we could use <% %> inside control declarations, I'd bet that would change everything. Either that or provide a new set of tags, [% %] to get processed when the page is first constructed and the controls are built up.
Why not just generate a new set of mvc controls that don't use viewstate, events, etc. Or give your existing controls an mvcmode flag? This is what I've done initially. I wrapped jQueryGrid with my own custom control. I declare the grid in my page just like any other control. And I set the url. Clean html. No viewstate. I can even use it in an asp.net app. Isn't all this jquery stuff really just offloading the ui to the browser?
And if people need to get data into a control or custom set properties, they can just put a <% control.DataSource=this.Model %> after the control declaration? After all, using the helper is the equivalent of putting inline code into the page. Why not just lay the page out like one normally would have and then put that inline code all at the bottom? Or just after each control?
IMO, the biggest issue with controls, after the quality of html they generate, is that you can't use <% %> in declaring them.
But you can't really beat the easy of editting and readability of a control laid out like xml vs mvc helper spaghetii code.
I really pray MS comes up with a better alternative to helpers. Maybe providing an option to delay the processing of controls until the very end so that we can use <% %>. If we could use <% %> inside control declarations, I'd bet that would change everything. Either that or provide a new set of tags, [% %] to get processed when the page is first constructed and the controls are built up.