Ryan is a Professional Software Developer in Northwest Ohio. Although he programs in several languages, his current area of focus is in C# and VB.NET. Ryan regularly contributes to the community through his website. Ryan has posted 3 posts at DZone. You can read more from them at their website. View Full User Profile

Are you a Control Freak?

  • submit to reddit

No Controls?
Since the very early ASP.NET MVC previews, the most common argument I've heard against using the framework is the lack of user controls. In my opinion, this is a mixed blessing, however, for some, this is a show stopper. What can you do to provide a rich user interface with the MVC framework, while not reinventing the wheel?

Now you could go ahead and program a full fledged data grid or WYSIWYG editor, however, unless you have a bit of time to spare this is not the ideal solution. As most may realize, jQuery fits very nicely to fill in the gaps left by the absence of user controls. For the most part, the controls are not going to let you just drag-and-drop, type in a dataset and profit but a lot of the pain is kept to a minimum.


If you're looking for a data grid there are a number of options available pictured above is Ingrid. Flexigrid is another good one that people have used with the MVC framework, however, their site appears to be down at the moment.

Treeviews are available

Radio Buttons / Check Boxes

Check out the jQuery plugin database.

Getting Started
So, if you've decided you want to look more into using jQuery plugins -- a couple of tips that may make the transition a little easier:

  • Read up on what people using different languages are doing. I'm not saying that you should necessarily go out and learn Rails or CakePHP/CodeIgniter (although, it is beneficial). but at least look at the techniques that programmers from that realm of things are doing -- see how they are implementing their controls.

What tips do you have for creating robust user interfaces with the MVC framework?


Published at DZone with permission of its author, Ryan Lanciaux. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)