7

Is there any disadvantage you face it when you using asp.net MVC?

EDIT
If yes can you list some of those drawbacks,

0

9 Answers 9

6

With WebForms you have a multitude of pre-built UI controls such as Grids, Graphing Tools, etc... There is an entire industry of RAD controls.

Unfortunately with ASP.NET MVC a lot of this stuff is still not quite there yet.

Sign up to request clarification or add additional context in comments.

4 Comments

Ha, for you this is a drawback. I see this as a benefit as all those prebuilt things end up being more trouble than they're worth.
+1 to that. Most of those controls have as much headache packaged in as they do functionality.
I actually see this as a benefit too :)
Grids are the main problem. Charting is there, don't put it on your list.
4

The biggest disadvantage is that you'll probably be forced into using JavaScript/AJAX to achieve more complex forms. For example, if you have a whole bunch of widgets (say, datagrids, additional side forms, etc.) that aren't directly part of the current View, managing state is a pain.

In ASP.NET WebForms, the viewstate automatically handles this so that you can have multiple independent controls posting back and firing events, without messing up anything else on the page.

In ASP.NET MVC, you need to handle all of that yourself, and the easiest way is to simply move things to be on the browser side.

On the up side of this, after you get it all debugged, it can lead to a nicer user experience overall.

Comments

3

It really depends on the type of project. Some people like MVC because of the SEO benefit from clean urls and allowing users to intelligently "hack" urls by making intelligent url guesses. MVC comes with an expense that you'll lose web controls and so no ASP.NET AJAX and no drag-and-drop grid from your UI library.

Just to generalize, a publicly available website might be a better candidate for MVC because of its SEO benefit whereas an internal or business app might be better off having the time used to develop other areas. Then again, if all you want is clean URLs, you can implement the same thing without MVC by means of URL rewriting,

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx http://msdn.microsoft.com/en-us/library/ms972974.aspx

So as far as 'disadvantage' in using MVC, it might be more of a personal one in that,

  • Do you want to undergo the learning curve in doing MVC?
  • Do you rely on controls? Can you code the same thing through good ol' fashioned HTML, CSS?
  • Might you be 'wasting time' in doing MVC when a better part of your project would benefit from the coding time?
  • If all you're looking at is SEO, is URL rewriting a better approach for your needs?

I'd say the disadvantages are really relative to the developer and project.

3 Comments

Loosing WebControls is a distinct advantage
I wonder whether having a Grid control that already had automatic sorting, paging and everything something bad.
You summurized MVC to Clean URLs and SEO! There are many ways to make websites SEO friendly in ASP.NET web forms!
3

More info here: Should I migrate to ASP.NET MVC?

Comments

2

Learning curve and lack of the pre-built controls, which will impair the productivity of a WebForms developer.

I can give you however a very good advantage: if you haven't done so already, you will finally learn the basics of HTML/CSS and HTTP which is needed to do any kind of serious web development, and not just drag-dropping things in the editor.

Comments

1

Things like control state (text in input fields) requires manual handling for one, compares to webforms.. assuming you use it "properly".

All in all you have to do a bit more of the actual presentation work yourself, which is a good thing in my opinion, but in a form intensive application (administrations for example), it can slow you down.

(I mean sure you CAN run most normal asp.net things inside an mvc application, but if you do that extensively, you should probably just run webforms.)

Comments

1

ASP.NET requires IIS7 routing (ie, Windows Server 2008 or Vista). You can run it on IIS6 under Server 2003, but you'll lose the extensionless routing coolness.

1 Comment

Inaccurate. You can get extensionless routing on IIS6 with a wildcard mapping (see haacked.com/archive/2008/11/26/…)
1
  • The complexity is high to develop the applications using this pattern.
  • Not right suitable for small applications which has adverse effect in the application’s performance and design.
  • In terms of servlet and JSP, both often contains business logic and presentation tier.
  • The isolated development process by UI authors, business logic authors and controller authors may lead to delay in their respective modules development.
  • Developers cannot completely ignore the view of the model even if they are decoupled.If the model undergoes frequent changes, the views could be flooded with update requests.Views like graphical displays may take some time to render. As a result, the view may fall behind update requests. REF: http://www.careerride.com/MVC-disadvantages.aspx

Comments

0
  1. ASP.NET MVC sites need on an average of 10 times more development time than the traditional ASP.NET sites.
  2. It does not make use of the powerful asp.net controls.

  3. The code is unreadable. If you are made to add some enhancements on a website developed by somebody else, you will go nuts..

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.