ASP.NET AJAX 1.0 Source Code Released

As I mentioned last week when ASP.NET AJAX 1.0 shipped, we are publishing the full source code to the ASP.NET AJAX product.  This includes the source to the server-side ASP.NET integration (including the UpdatePanel, UpdateProgress, and ScriptManager controls, as well as the source to the Network Serialization code).

The client-side ASP.NET AJAX JavaScript library (which we also call the "Microsoft AJAX Library") is being released under the Microsoft Permissive License (Ms-PL).  This grants developers the right to freely customize/modify the library, as well as to redistribute the derivative versions of the JavaScript library for both commercial and non-commercial purposes. 

The code for the server-side ASP.NET AJAX 1.0 implementation was released this morning.  You can download it here.  It is being released under the Microsoft Reference License (Ms-RL).  Included with the source code are debugger symbols for the shipped binary, which will allow you to step from your own code into the ASP. NET AJAX library while debugging, with line number and symbol data preserved.  Note that the setup installs the source code locally on your machine within the "\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025\Source" directory.

You can also obviously download (and modify) the source code for the ASP.NET AJAX Control Toolkit.  It is built as a collaborative CodePlex Project that both Microsoft and non-Microsoft developers contribute code and work on together.



P.S. I'm hoping on a plane to Europe in an hour for my presentations in Belgium and the UK, and will be out the rest of this week (it only took me 3 frantic hours to find my passport last night -- sheesh).  As a result there will be some delays with blog comments (and my responses to them) while I'm away. 



  • Dang, and I was getting so used to reflector! :-)

    Cheers Scott - this is great news!

  • Awesome, thanks Scott, and everyone else on the team!

  • Do you want to kill Reflector ?

    Thanks ;-)

  • Cool! But where are all the code summaries? :-)

  • Excellent! Not only do developers like myself get the benefits of simple to implement AJAX controls, but now we get the source?! Thanks so much to you and your team.

  • wow, Thats some great news, The full source code for the Ajax Library

  • Is there a solution file available to open the project in Visual Studio 2005 ?

  • Scott - is the JavaScript "cruncher" that you use to generate the compressed MicrosoftAjax*.js files available, or going to be made available?

  • Thanks a lot scott. Iam trying to build a application that is similar to Yahoo Mail (New Version) ..Can you just throw me some lights whether it is possible through AJAX? Sorry if i hav made my post in the wrong place.

  • > P.S. I'm hoping on a plane to Europe

    Buying a ticket is usually more effective than just hoping :D

    Many thanks for the source code!

  • And the code fun just keeps on coming!

    Keep up the great work :-)

  • I was grumbling that I have to get up at 6am so I can see you on Saturday. Then I remembered your talk starts at 9am. Which means you're actually starting it at 1am Seattle time.

    I'm not complaining anymore ;)

  • Great stuiff Scott! Thanks a million.

    Quick question... Any reason why the code has no comments?

  • > Is there some way to redirect to a custom version of the script library?
    Found the answer to this: point ScriptManager.ScriptPath at the customised library.

  • I find the code in general very ugly. Large methods and large classes everywhere. Was there any refactoring at all?

    Anyway, I enjoyed the sessions in Belgium very much. Especially the Orcas one. Can't wait to have it. Hope to see more of your sessions...

  • I have updated to this release but now my entire page refreshes upon a post-back. What happened? Everything worked before. Where can I go for help?

    Thank you.

  • Hey Scott, is there any chance of the core ASP.NET controls' source code being released?

    Now that we're dealing with deeper object hierarchies, GridView BoundFields do not work very well.

    It would be nice if you guys could enable that scenario. ie, DataField="Vendor.Name" (which currently doesn't work)

  • Great can we get the same thing for the framework now?

  • Hey Scott, I'm trying to dig into using the validation controls and the new AJAX extensions in harmony.

    I installed the validation mapping classes and the web.config entries to get the regular validators to work. Now my only issue appears to be that the validation summary wants to scroll the page up...

    So if I have a client side validation error it scrolls the page, regardless of the position of the validation summary control itself. I realize this is how the validation summary has always worked, but it seems to be more annoying when doing the partial page refreshes.
    Can you think of a way to use the validation summary and not have the scrolling? Short of a custom validation summary control, which I could try as a last resort...

  • Hi Tim,

    Can you send me an email with more details on this scrolling issue? I can then have someone on the AJAX team take a look and get back to you on it.



  • Hi Joao,

    The source code right now has the comments automatically removed (since they include people's email names). We are looking at ways in the future that we can include the comment as well.

    Note that the line-space gaps in the code are where comments used to be. They gaps are there to ensure that the line numbers still match up to the symbol data that the debugger uses (otherwise you wouldn't be able to step through the code).



  • Hi Brian,

    Can you check out this blog post and see if that fixes the problem:



  • Hi Sam/Eric,

    I'm hoping/working to try and get the full ASP.NET framework source code published. It is a fairly lengthy process to get it approved, but we are working on trying to get it done.



  • Hi Joe,

    By default the client-side javascript file for ASP.NET AJAX is served out of the server-side assembly (it is embedded as a resource).

    However, you can alternatively configure it to point to an alternative modified version you create yourself. This can be done by changing a setting within your web.config file.

    Hope this helps,


  • Thats great! I look forward to checking out the source code. Thanks for making this available.

  • Wow, just got the Ajax Docs (Hot off the press).
    Big thanks to the team, this bundle is simply awesome, chock full of goodies.

  • Thanks.

    >>the full source code to the ASP.NET AJAX product

    it would be great if it can be build without doing anything like generating System.Web.Resources.

  • 3 hours to find the passport !? LOL
    That never happens to me, I just ask to my wife, you know, wives know e-v-e-r-y-t-h-i-n-g!

Comments have been disabled for this content.