I posted last week asking for thoughts on whether or not to use WebForms or one of the alternatives out there as a View Engine for an MVC app that I’m working on on the side. I was a little bit harsh in my criticism, and said that I was actually leaning towards NOT using WebForms at all.

Based on some of the feedback I’ve gotten to that question (mostly offline, with the exception of some good thoughts from Scott…thanks), I thought about this quite a bit over the weekend, and even did some playing around with it, and I think I’ve come to a conclusion.

I’ve decided that I think I probably will in fact go ahead and use WebForms as my View Engine, largely because, I think I was unclear when I said that it was "WebForms" that I didn’t like. The culprit for my problem with the generated output of the radio button (read my post from last week for the details on that) is NOT the WebForms engine itself, but in fact, the <asp:RadioButton /> server control. So rather than WebForms being the thing that I have a problem with, its really the ASP.NET Server Controls that I have a problem with.

The nice thing about that problem, is that I can easily get around it. By using WebForms without the server controls, I can write my own (X)HTML and just use ASP.NET server tags (<% … %>) to inject data or other information from the server into the HTML wherever I want it, and ultimately not have any problems at all.

So WebForms are NOT evil. Server Controls, on the other hand…just might be.