I've noticed a lot of talk about asp.net MVC lately, but I haven't come across a clear or compelling description of when, where or why I would want to use it over WebForms.
Let's say I wanted to build a small web application that allows a person to advertise some items online. The website will have 4 use cases:
- Search adverts
- View listings
- View item
- Place an advert
Let's assume:
- I'm not particularly interested in unit testing my controller. The page will either render the list of items correctly, or it won't.
- I am interested in more control over the HTML markup.
- I'm not interested in using the latest buzz technology just for the sake of it.
- I am interested in using the tool that is best suited to the job in terms of productivity, performance, maintainability & simplicity of the end solution.
- I don't want to have to work around a bunch of nuances to get something simple to work.
So, my questions are thus:
- What are the fundamental differences between the two models?
- In which scenario is one better than the other?
- What are the gotchas with asp.net MVC (I'm aware of the gotchas with WebForms)
- For our sample app, what would I gain by using asp.net MVC instead of WebForms?
- For our sample app, what would I lose by using asp.net MVC instead of WebForms?
- Is it feasible to mix and match models within the same small application?
Thanks to anyone who spends the time to contribute an answer.