views:

175

answers:

7

How come there are a lack of Controls for ASP.NET MVC?

Sure it hasn't been around that long but one would think that a GridView, Calendar and other important controls would be included or at least in seperate packages.

However, I've failed to find any besides the ones that cost a lot of money for nearly nothing at all.

Does these type of controls go against the work-flow in MVC?

Edit

Regarding the specific controls, the jQuery Calendar seems very good however, I haven't seen any hierchy grid-views yet, are there any?

+2  A: 

Since ASP.NET MVC doesn't have the same client/server abstraction as regular ASP.NET, you use regular client-side controls (ie HTML/Javascript). There are numerous frameworks available for complex reusable controls. I'd recommend JQuery/JQuery UI, but there is also Yahoo's framework (YUI), ExtJS, etc.

Josh
What are you referring to? MVC has an even MORE pronounced client server abstraction. The client happens to be the view, while the model on controller reside on teh server.
Pierreten
I'm referring to server controls - Viewstate, etc.
Josh
Got it, thanks for the update
Pierreten
+2  A: 

Do you mean controls released by Microsoft?

You can always use jQuery or ExtJs and I think Telerik has some MVC controls.

magnus
Telerik costs a lot of money. Does jQuery have a nice GridView?
Filip Ekberg
The MVC controls from Telerik are free and there are several grid controls based on jQuery. don't know if ExtJs is based on jQuery or not.
magnus
+1  A: 

I would say the simple answer is that MVC simply doesn't need controls. I've used a few of the MVC Contrib extensions, but for the most part you're just writing plain old html. Which is what any control is going to do in the background.

Instead of a gridview I use a plain table, and if I need a calender I just use the jQuery one.

Jaco Pretorius
+2  A: 

Check this for jQuery grid

http://trirand.com/jqgrid/jqgrid.html

SonOfOmer
+3  A: 

There's www.jquery.com, www.coolite.com (with MVC support, based on Ext JS) and www.extjs.com.

The Telerik extensions for MVC are free and open-source, based on jQuery. Available at http://www.telerik.com/products/aspnet-mvc.aspx.

maartenba
Do you know if there is a GridView which allowes you to bind Sub-lists to each element which are displayed as a second, inlined, table?
Filip Ekberg
Try finding jqGrid. ExtJS also supports this.
maartenba
I would not recommend teletrik it has some bugs and it is difficult to adopt in CSS
SonOfOmer
+1  A: 

ASP.NET MVC implies using some hacks to achieve such essential behavior. The main idea is to move part of page rendering logic to client JavaScript code. This is OK for relatively wide variety of simple web-sites.

Alex Kofman
+2  A: 

A Control is a concept in ASP.NET that does not exist as such in ASP.NET MVC.

You may achieve a similar degree of feature isolation with ASP.NET MVC Areas, something I haven't looked at yet.

Update: If you downvote, explain why. And then show me where Controls are in ASP.NET MVC. Thanks!

flq
I upvoted because you are right. You should use Html (or HtmlHelpers for readability and maintainability).
Martin
I think you missunderstood the term "Control". The topic might be a bit unclear, but this is definitely not the answer i was looking for. Thanks anyways
Filip Ekberg