this is my first question Here ,
I am a beginner in asp.net , and i want to make a CMS project using it
After Some readings I found that the MVC structure is very suitable for Me
Just want to know :
how much the asp.net MVC depend on the normal asp.net??
as a beginner i don't know the level of knowledge for Normal asp.net to start working using asp.net MVC
Please tell me where to start in the normal asp.net(3.5) and when to switch to learn the asp.net MVC ??
Detailed information is very welcome
Thanks For your Time
It is built on normal ASP.NET minus postbacks, viewstate, and event wiring. The underlying System.Web stuff is the same, but with some new wrappers to access it, and of course a bunch of new featuers that make up the MVC portion. Just get a book on ASP.NET MVC, and don't worry about classic ASP.NET.
'normal' (also known as WebForms) asp.net and 'mvc' asp.net are somewhat different from each other in how things are put together and how things work with each other. There is no need to learn one before learning the other.
If you read through this article you can see at a glance what the differences are between 'normal' or WebForms and 'mvc'.
Here is a pretty good tutorial for learning about MVC from Scott Guthrie if this is the way that you're leaning.
Good luck and have fun!
It depends on what you mean by "ASP.NET". ASP.NET MVC does depend on standard ASP.NET request processing pipeline (IHttpModules, IHttpHandlers and all other internal workings), but it does not depend on WebForms infrastructure.
I've recently jumped on the ASP.NET MVC bandwagon and I found the introduction tutorials on the official http://asp.net/mvc site very useful.
ASP.NET WebForms tried to mimic WinForms desktop apps in that you have controls and event-driven interaction, which is not particularly well suited to the stateless HTTP
ASP.NET MVC gives you full control over the HTML that is generated and sent back to the browser, but more importantly, it makes it easier to write testable code.
Also, ASP.NET MVC does not depend on ASP.NET WebForms, they are built on the same foundation. In fact, in principle, you can mix and use both in the same app if you really wanted to :)
When MVC was released, what used to be simply ASP.NET was renamed ASP.NET Webforms and MVC because ASP.NET MVC. Not sure if that answers your question but it does clear up some terminology.
Why not start with Asp.Net MVC ?
Asp.Net is split now into 2 parts. Webforms and MVC.
I'd advise looking at the following -
http://bloggingabout.net/blogs/mischa/archive/2008/02/04/asp-net-mvc-vs-asp-net-webforms-vs-ruby-on-rails.aspx
http://nerddinner.codeplex.com/
Related
Ive been confused about ASP.NET MVC.
As some said, MVC is better than ASP.NET. As some said, they are completely the same thing.
And my colleges debate that MVC is just an extension of asp.net, where asp.net is already in the form of MVC.
In fact I am starting web developing from scratch. If someone might help to clear the fog front of me, it would help a lot.
All ASP.NET web frameworks are build on top of Microsoft ASP.NET Framework. The unique feature of Web API is that it can be used with both MVC and WebForms applications to provide truly restful HTTP services.
Regarding the choice of suitable Asp.NET framework: you may get more information from official source - www.asp.net.
General rule of thumb is the architectural design how you want to build your application.
ASP.NET MVC promotes a cleaner separation which makes the developer think more in depth about design and code separation than traditional web forms.
There are endless debates about what is better but true benefits of ASP.NET MVC as
testability
more control over the rendered HTML
separation of concerns. However with MVC there is much more to learn for the developer.
ASP.NET WebForms - will always be around because some see it as a rapid application development tool. Just drag and drop and let ASP.NET handle the posting, state etc
ASP.NET Web API - is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.
All in all, each of them has certain business solutions to be considered as required.
References to look for comparison:
ASP.NET MVC vs WebForms: speed and architecture comparison
ASP.NET Roadmap: One ASP.NET – Web Forms, MVC, Web API, and more
ASP.NET is the name of the overall web framework. There are a few different technologies that are built on ASP.NET. Two popular examples of these technologies are WebForms and MVC.
WebForms promotes a programming model that looks a lot more like Windows Forms. It attempts to abstract away the stateless nature of the web, and encourages you to use server-side controls instead of HTML. Because WebForms was the primary way to write web applications on ASP.NET for a long time before MVC came out, you'll often see people talk about "ASP.NET" as the same thing as WebForms. This is part of the reason for your confusion. ASP.NET WebForms is very different from ASP.NET MVC, but they are both built on ASP.NET.
ASP.NET MVC gets away from server-side controls. It eliminates the abstractions, allowing you to have closer control over the actual HTML that gets generated. For developers of modern applications, this is very useful because it makes it much easier to use AJAX and rich client-side javascript.
(Humble Opinion incoming)
ASP.NET (in terms of using Webforms) is programming the web for a WinForms developer. You "bind" events, you have "controls" and everything (sessionstate) is stored in a huge hidden field within the page so it knows where it left off from the previous call. You rely heavily on this information being present which is why everything you do needs to reside in that master form wrapping the entire page.
On the other hand, MVC is bringing C# .NET programming back to the web the way the web was intended. No bloat, no hidden fields, no heavy bindings. It's brings everything back to the classic "i have this form and now I need to process it". Arguably, the real magic is the routing methods and the "automatic binding" of submitted fields to an object. (if fields x, y & z are submitted and your action is looking for FooBar with the properties x, y & z it's automatically converted for you.
ASP.NET is common to both WEB-API and ASP.NET MVC. I assume you wonder about MVC or WEB-API.
MVC is a controller / model based with Views. Although the controllers can be used for AJAX json purposes. MVC is a good way to build a serious Browser based Application. The WEB-API allows you to build simple http server features, not necessarily Browser related. Good for REST style programming. Very flexible and a good alternative to WCF services. The are good tutorials on Both on the official ASP.NET site. START here http://www.asp.net/get-started
choose depends on your project n you. I suggest you to choose MVC because its productivity is very high we r using it since 1 year and found better than webforms.
for more knowledge please visit http://www.asp.net/mvc
The choice depends completely on you, I have been developing MVC application since 2010, its going to be over 2 years now have worked with almost all the versions of MVC both with Razor and aspx view. I have also worked on ASP.Net webform based applications.
With MVC you will not get built in controls, you will have to develop every control you want to use, you will have to rely mostly on html controls, while with web forms you will get advantage of using built in controls, Even getting help from other developers in your surroundings may be easy for webforms as you can easily get a webform developer.
But on the other hand with MVC the maintability is very high. As for as productivity is concerned, its very high once your are accustomed to it, initially it will be low as you will be in learning phase. Don't forget to use Entity Framework.
You may also consider developing your App using WebAPI, if it suits your scenario.
We are planning to start a new asp.net web based application in a few weeks. We have three members in our team all with experience in asp.net 2.0
We are jumping direct from asp.net 2.0 to 4.0 (skipping 3.5) and we were discussing, should we go for asp.net 4.0 webforms or should we learn/develop in asp.net MVC? However, we don't have any prior MVC experience.
If you guys think that MVC is the way to go then please recommend good books using C#.
As with all engineering decisions, it depends.
Is your timeline long enough that you can ride the learning curve? Is everyone OK with learning MVC, or are you going to get blowback? Does your team know and understand HTML and CSS? I know this seems like a silly question, but a lot of ASP.NET WebForms programmers get by without really understanding the concepts for quite some time.
Do you want to make pervasive use of Ajax and CSS? Does anyone know JQuery or one of the other JS frameworks and want to make the best of them? Is unit testing important to you?
If the answers to these questions are, in general, "yes", then I would recommend taking the plunge and going for ASP.NET MVC over WebForms. As far as a book goes, I'll leave that to others. I still have not found a book that I really like yet.
I know that I'm pretty much an exclusive ASP.NET MVC programmer for new projects going forward. IMO WebForms is a broken and outdated model. Viewstate is painful for developers and web services, and postbacks are painful for users.
If you are comfortable with and know Web Forms well, use those.
Generally, use the tool you are most comfortable with.
My suggestion is: if you are tight scheduled and development team is experienced with web forms 2.0, your choose should be web form. It is nothing so serious happend between 2.0 and 4.0 that you might loose competence. Web forms still web forms.
If you have month or so as buffer to get in into MVC, you should do that. It is more natural for web development, and what I like - more testable.
I'm personally not to quick to rewrite my applications on MVC 2.0, and even start new project with MVC.. Maybe I wait for 3.0 version :)
A lot of information is here:
http://www.asp.net/mvc
A also got sources of Mvs2inaction (please google for Mvc2inaction and be pointed to github site)
And sure you have to check Phil Haack blog.
(sorry could not post a lot of links yet))
As others have answered already about what to choose between Web Forms and MVC, if you have decided to go for MVC you can find book recommendation in following links -
https://stackoverflow.com/questions/1281726/good-asp-net-mvc-vb-books (Although the questions is about VB books but answers are for both)
https://stackoverflow.com/questions/1942068/best-resources-books-for-asp-net-mvc-framework-closed
Also I would like to recommend one new book which I have just started to read. This is good for understanding the concepts and compares Web Forms and MVC.
Programming Microsoft ASP.NET MVC - Dino Esposito
I am starting a new project in VB /.Net Framework 2.0 for a company corporate website with data driven forms. So should I go further with Asp.net MVC or Asp.Net web forms and WHY ??? We are not ready for Ajax now but later.
And also we have DevExpress components.
Actually I see ASP.NET MVC as next generation in that it is an evolution - trying to be a better programming environment, as software development for web apps asks for something more testable.
It is a huge beast. Decide based on features whether you need it. MVC has less documentation and is a lot harder to master thanks to a less RAD approach, but it seems that once you are in, it will be quite a better experience. If you have a web application (like stackoverflow.com) then it may be a good approach.
DevExpress components - have fun... throwing them away. Like most ASP.NET components they will not work or only work very partially. Totally different approach.e
ASP.Net MVC is not "next generation" ASP.Net. It's an alternative approach to design that can be more beneficial depending on the kind of project you're working with. Without more information about the particular type of project you're working on no one can give you any informed recommendations.
I'm currently present with the following situation.
We have a huge enterprise application written with WebForms. Refactoring it or completely rewriting it is out of the question. So I'm not talking about migration WebForms -> MVC.
However, I understand one can technically add MVC functionality to coexist with the rest of the project. I was asked to present MVC concepts for a team so that we can consider how it could become (or not) of use to us.
After careful thinking I do not see any ways or reasons to add MVC elements to a WebForms project since it will become a strange breed then.
Maybe there are certain not exactly obvious possibilities to add value to a WebForms project with MVC framework? Has anybody thought about it?
Sharing a master between MVC and WebForms - dealing with the
Mixing ASP.NET Webforms and ASP.NET MVC
ASP.NET MVC WebForms Hybrid application
Combining MVC and WebForms from Pro ASP.NET MVC Framework (also available here)
I would also look at this article from Scott Hanselman. He seems to have the mojo on mixing these technologies.
Plug in Hybrids...Mixing ASP.NET and ...
I know what MVC is and I work in webforms but I don't know how MVC will be that much different. I guess the code behind model will be different. So will it be like webforms minus the code behind and instead having it in a controller?
I see there are other related posts but I don't they address this.
For starters, MVC does not use the <asp:control> controls, in preference for good old standard <input>'s and the like. Thus, you don't attach "events" to a control that get executed in a code-behind like you would in ASP. It relies on the standard http POST to do that.
It does not use the viewstate object.
It allows for more intelligent url mapping, though now that the Routing namespace has been spun off, I wonder if it can be used for WebForms?
It is much easier to automate testing of web parts.
It allows for much easier separation of UI logic from the "backend" components.
The image says it all.
Update: Adding the original link for completeness.
http://forums.asp.net/t/1528396.aspx?MVC+vs+Web+Forms
The video tutorials here help describe the differences.
There is so much that can be said about your question.
MVC allows for clean separation of concerns, testability, and test driven development (TDD). It supports clean RESTful URLs and is very extensible... meaning you could swap out of the viewing engine, the routing mechanism, and many other things that you might not like out of the box.
For additional information I would suggest reading Dino Esposito's blog post entitled An Architectural View of the ASP.NET MVC Framework. Inside this post he compares many differences between the classic code behind approach with MVC.
Asp.Net Web Forms:
Asp.Net Web Form follows a traditional event driven development
model.
Asp.Net Web Form has server controls.
Asp.Net MVC model:
Asp.Net MVC is a lightweight and follow MVC (Model, View, and
Controller) pattern based development model.Asp.Net MVC does not
support view state.
See more..