Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm a .NET developer who's eying up new jobs for a change of pace. My career so far has led me to become quite proficient with C#, WPF, WinForms, MSSQL, and all kinds of goodies in the .NET framework including Entities, Parallel Tasks, etc.

However one thing that I'm obviously lacking is ASP skills. Nearly every job in my area (Minneapolis/St.Paul) requires strong, 3+ years experience with ASP.NET.

I feel confident in my ability to pick up new technologies, especially in the .NET world, however with ASP I'm not sure where to start. As with most things in .NET, there's probably the hard, old way to do things, and the new, elegant way to things.

Just firing up the templates in VS2008, there are several ASP templates that implement various technologies such as Entities. I have no idea where to start.

So, alluding to the title of this post, I'm looking for a crash course in ASP. Given that it's a web technology, I'm having trouble thinking of a side project as an excuse to learn it as I would with otherwise.

Can anyone give me a landmark as to what I should focus on learning? Is there a good amount of ASP stuff I can ignore? Related, is there a more recent starting point that I could begin with that would give me an edge over the tired ASP guys stuck doing things the old ways? :P

Just looking for a little guidance. Thank you much!

share|improve this question

closed as off-topic by enderland, gnat, durron597, Kilian Foth, Dan Pichelman Jun 22 '15 at 20:46

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – enderland, gnat, durron597, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

In your title you talk about ASP.NET. In your question, you talk mostly about ASP. Those are two different languages. Consider changing either your title or your question to avoid confusion. – MainMa May 7 '11 at 1:53
@MainMa - There is no ASP template in VS2008. He's obviously talking about ASP.NET. Very few people in this day are going to be looking for training in classic ASP. – Walter May 8 '11 at 12:27
@Walter: it's clear for people like you who know very well the difference between ASP and ASP.NET. But such questions are also read by people for whom the difference may not be so clear. So when I see beginners making the mistake and talking about ASP.NET when they actually talk about ASP and vice versa, I know that it's also our fault and it's also because they may have read misleading questions like this. – MainMa May 8 '11 at 23:15

You could try the online courses from Pluralsight at There is a free trial you could run through - by the end of that you'd know whether you wanted to pay for a subscription.

Disclaimer: I write for Pluralsight, but not ASP.NET courses.

share|improve this answer
I want to give a thumbs up for Pluralsight, as a totally independent fan. :) – Boris Yankov Jul 25 '11 at 23:21

Can anyone give me a landmark as to what I should focus on learning?

Well, I think obviously, the first things would be HTML & CSS. Unless you're in a large company and narrowly specialized (probably not the case here in the Twin Cities), you will need solid HTML & CSS skills.

Then of course JavaScript. There's some quirks and idiomatic ways to do things that you'll need to learn, but core JavaScript should come easily and quickly. Follow up with lots and lots of jQuery. jQuery is where all the meat & potatoes of JavaScript will come from, as that's what you'll most often use to manipulate the DOM.

Dependency Injection & Inversion of Control are often used in ASP.Net MVC applications, so if you don't have experience with Castle or Ninject or similar I would suggest learning one. They are fairly simple, but using them is very empowering.

And there's some libraries that get used in every single ASP app we make. ELMAH for error logging, dotLess (using SquishIt to integrate) for vastly improving how we can write CSS, T4MVC, etc.

Check out What a developer should know before building a public website, it's full of lots of great info.

And lastly, HTML 5 Boilerplate is a good place to learn the fundamentals of setting up a web page.

Is there a good amount of ASP stuff I can ignore?

I would suggest focusing on ASP.Net MVC and Razor and ignore WebForms for now.

share|improve this answer

ASP.NET is split into three branches:

  • WebForms
  • MVC
  • WebPages

WebForms has been around for awhile and abstracts a lot of the web technologies away. It would likely feel at home to someone with WPF/WinForms experience. Web Forms attempt to come up with a form + controls abstraction that breaks easily (the web is stateless).

Not really sure what Web Pages is about, but it seems to be aimed towards more casual or new developers. It's somewhat a return to the 'classic ASP' pattern where you mix a lot of abstractions within one page (HTML + C# + JavaScript + SQL).

MVC in my opinion is what you should focus on. MVC allows you to closely work with web standards and doesn't attempt to abstract it away. The MVC pattern and framework features help to keep code well structured and maintainable.

If you are about to start with web development, my advice would be to focus on MVC and largely ignore the other two branches.

Also get VS 2010 asap. MVC's development is rather fast pased, you'd be quite a bit behind to in technology if you use VS 2008. If need be use the free VS 2010 Express edition.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.