views:

79

answers:

2

I am aware of the differences between webforms and MVC, I am trying to determine in which environment I will feel most at home but yet not in over my head.

I have been building web apps for 9 years in ColdFusion using an MVC design pattern. I am used to having full control over the rendered HTML & CSS as well as utilizing the jQuery library for my interfaces. Having a device like Viewstate to help me persist across trips to and from the server has not been a luxury with the exception of a feature in the frameworks I work with marshaling form and url scoped variables into an event object for me to use.

Although I have been following ASP.Net for about a year I have not written any web apps with it yet. the .Net MVC path is appealing to me because it is more familiar to me but I am concerned that my lack of experience with the .net platform and c# may be an additional burden.

So I guess my question boils down to how much does C# and .Net platform experience or the lack there of contribute to either Webforms or MVC being the right choice?

The abstraction offered by Webforms seems like a better starting path for beginners but I have already determined that I am weary of viewstate and I do not like all the code generation of the controls used in Weboforms.

+1  A: 

Sounds to me like you're closer to MVC than you are to WebForms. WebForms contain a lot of great controls but you lose a lot of control over the rendered HTML.

There is a big learning curve when using either and both are unique in how they do business.

My advice is to go MVC and google NerdDinner for a great reference and starting point.

ViewState is a Devil! I have wasted (days) trying to figure out issues. Pages simply stop working and it's not immediately obvious why. Then you find out it's ViewState and you just scream before begining the long process of debugging it.

I love the granular control I have with the MVC framework.

griegs
+2  A: 

So much of what .Net offers is going to be irrelevant if you pick WebForms or MVC mainly due to the fact that they share so much of the same code and features; you'll be using the .Net Framework and C# in both...

As you're clearly more familiar with your past MVC work, stick to asp.net MVC to provide some familiarity for which you can then concentrate of learning C# and the .Net Framework. Later on you can then look into Web Forms (wait until .Net 4 for WebForms anyway!)

A great read from Scott Guthrie on the two technologies

davidsleeps