I start a job this summer doing work in ASP.NET 4 (C#). I plan on working with some legacy code as well as MVC.

I want to get a running start. I have good understanding of HTML/CSS/Javascript, and pretty good understanding of C# itself, Design principles, Design Patterns, and understand masterpages, basic MVC2, and code behinds for web forms.

  • In your opinion what aspects of ASP.NET are the most important to master for web applications?
  • What do you value most in your usage of ASP.NET?
  • Do you have a recommendation for understanding the internals of ASP.NET itself?
  • 1
    First things first, take any information about practices or standards that come from the domain *.microsoft.com, and ignore those, also delete any bookmarks or favorites you have to them as well.
    – MVCylon
    Commented May 24, 2011 at 17:22

4 Answers 4


ASP.NET Webforms

A proper understanding of the page lifecycle, the request pipeline and state management (cookies, sessions, viewstate, ...) will be a great benefit.


Make sure you understand how HTTP works (difference between POST and GET), how routing, controllers and views work together and how you can influence them.

  • 2
    +1 for page lifecycle. This is something very important that is often overlooked when learning ASP.Net.
    – Tyanna
    Commented Mar 2, 2011 at 14:58
  • 2
    i would also add - cookies/sessions/viewstate and the advantages/disadvantages of using them
    – k25
    Commented Mar 2, 2011 at 16:03
  • @k25 - cookies, sessions and viewstate are included in "state management". The advantages and disadvantages of using them are of course part of understanding them :-) Commented Mar 2, 2011 at 17:55
  • +1 for page life cycle. This bit trips up most ASP.NET devs out there. Commented Mar 2, 2011 at 20:03
  • 1
    @Kristof Claes - Yes you are right. But beginners (at times) do not pay attention to such details. Myself included when I started. Initially I was using Sessions a lot and then reduced the usage if unnecessary. So I thought an emphasis is required ;)
    – k25
    Commented Mar 2, 2011 at 23:30

Webforms: Understanding the page life-cycle and post-back mechanism, ViewState and Session State. Know the standard controls.

MVC: Understand how HTTP works (GET, POST requests, for example). Understand separation of concerns. Dependency Injection. Know your HTML, JavaScript by hand. jQuery.

  • Isn't that pretty much what he listed he knows?
    – Sergio
    Commented Mar 2, 2011 at 14:13
  • 1
    Yes there is overlap. However, he asked for my opinion. Commented Mar 2, 2011 at 14:24

What I would suggest you look deeper into:

  • jQuery and jQuery UI
  • AJAX and Web Methods
  • Repeaters
  • Dynamically created controls. In particular, their lifecycle, viewstate quarks, and how events are processed.

I've noticed that in a lot of legacy code, controls are created and added to the page via the code behind more than they should be.

  • 2
    Repeaters make you learn just about everything.
    – JeffO
    Commented Mar 2, 2011 at 16:30
  • 1
    @Jeff O - I love repeaters. I tell all new web devs under me to read up on them. The make life so much easier.
    – Tyanna
    Commented Mar 2, 2011 at 16:35
  • Can you recommend any good sources. ASP.NET has a few tutorials. A google search was pretty frustrating.
    – JeffO
    Commented Mar 2, 2011 at 21:55
  • @Jeff O - I like this link: msdn.microsoft.com/en-us/magazine/cc163780.aspx And for nested repeaters: codeproject.com/KB/aspnet/AspNetNestedRepeaters.aspx
    – Tyanna
    Commented Mar 3, 2011 at 20:14
  • Thanks Tyanna. I guess if you can nest repeaters you can do about anything with it.
    – JeffO
    Commented Mar 3, 2011 at 21:17

Sounds like you're way ahead of the game already. Really though, nothings going to prepare you for digging into other people's code (which you'll be doing a lot, especially in the enterprise world). By that I mean, work on your soft skills. I've found those to be just as, if not more, valuable than my programming skills.

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