ASP.NET AJAX 1.0 Beta 2 Release

On Monday we shipped the Beta2 release of ASP.NET AJAX (aka "Atlas").  You can learn more about it on the http://ajax.asp.net web-site and download it here

ASP.NET AJAX Beta 2 Downloads

Included with the Beta 2 release are three downloads (each of which supports a go-live license)

ASP.NET AJAX 1.0 Beta2: This is the "core" ASP.NET AJAX download and contains the features that will be fully supported in the ASP.NET AJAX 1.0 release (meaning Microsoft product support is standing by 24x7).  The download includes support for the core client-side JavaScript type-system, networking stack, component model, extender base classes, and the server-side functionality to integrate within ASP.NET (including the super-popular ScriptManager, UpdatePanel, UpdateProgress, and Timer controls). 

ASP.NET AJAX Control Toolkit: This download contains 30+ free ASP.NET AJAX controls (with full source code) that make common AJAX scenarios super easy (cascading dropdown lists, animations, modal dialogs, in-place pop-up extenders, etc).  The toolkit is community supported, and built by an open source team containing both Microsoft and non-Microsoft developers.  It only uses AJAX features contained with the ASP.NET AJAX 1.0 Beta2 "core" release above.

ASP.NET AJAX Futures November CTP: This download contains a preview of future AJAX features that we are working on and will likely move into the ASP.NET AJAX "core" download once they are fully baked and understood.  If you want to use APIs that are non-changing and fully-supported, you should target the "core" download above.  But if you want to push the envelope this download provides a bunch of features to take advantage of.

New Features in ASP.NET AJAX Beta 2

In addition to a number of bug-fixes, the ASP.NET AJAX Beta 2 release contains a number of feature improvements worth calling out:

UpdateProgress Control: The UpdateProgress control is now included in the fully-supported "core" ASP.NET AJAX 1.0 Beta 2 download (in Beta1 it was still in the Futures CTP download).  The UpdateProgress control has also been enhanced over the version that shipped in the earlier Atlas CTPs, and now supports the ability to have multiple UpdateProgress controls on a page (and show/hide depending on the UpdatePanel that is being updated).  The UpdateProgress control also now has a useful "DisplayAfter" property that allows you to easily control the wait time before the UpdateProgress animation should display (to avoid you displaying an animation if the response comes back super quick).

Partial Rendering Auto-Degrade for Non-AJAX Browsers: A ScriptManager.SupportsPartialRendering boolean property has been added to indicate whether or not an incoming browser supports AJAX.  By default this is automatically set using settings configured via ASP.NET's BrowserCapabilities system (meaning you can override or customize the setting using .browser files). If you configure or set this value to false for a particular browser or device, ASP.NET AJAX will auto-degrade and not use partial page rendering with UpdatePanels - and instead just use normal postbacks and full page refreshes.

Simplified Client-side Event Binding API: The client-side AJAX JavaScript library now has a cleaner mechanism for binding and detaching multiple event handlers to a DOM element, which reduces the amount of code you have to write and can also helps avoid memory leaks.  Read Bertrand's great blog post to learn more about the new model.

Client-Side JavaScript Localization: Client scripts can now automatically retrieve localized resources from the server, making it possible to more easily create locale and region aware web UI.

Client JavaScript Debugging and Tracing Improvements: A number of additional improvements have been added in Beta2 to identify and diagnose issues in JavaScript.  You can also now use debug.trace and debug.dump to output JavaScript trace statements to either a textarea element you embed within a page, or to the popular FireBug browser add-in or Nikhil's WebDevHelper add-in utilities.

The ASP.NET AJAX team has also built a number of useful JavaScript source management utilities for adding debug parameter validation into JavaScript source code, and have it conditionally be stripped out depending on whether you process the script in "retail" or "debug" mode at development time.  We are going to be shipping the source for these utilities as part of the ASP.NET AJAX Control Toolkit in the near future, which will enable developers to easily take advantage of them within their own projects (we'll even have some cool MSBuild tasks that you can add to-do it for you automatically as part of your standard build process).

Client-Side JavaScript CSS helpers: There is now a useful JavaScript library included that enables developers to easily add, remove and toggle CSS class associations on client controls and elements.

Drag/Drop Support for ASP.NET Web Parts in Safari and FireFox: You can now enable drag/drop of ASP.NET Web Parts using both FireFox and Safari (this later support was not available in the earlier CTPs).  Read all about it in David Barkol's blog post here, or click here to see a screen-shot of web part portal drag/drop customization in action with Safari on a Mac.

Performance and Stability Improvements: The ScriptManager API has been improved with richer support for handling timeout situations with dynamically loaded scripts.  Script components can also now register for dispose semantics to avoid possible memory leaks.

Upgrading from ASP.NET AJAX Beta 1

There is a document on the http://ajax.asp.net home-page that describe how to take an existing ASP.NET AJAX Beta1 application and update it to use Beta2.  This should be relatively straight-forward and only take a few minutes.  The one gotcha to watch out for is that you need to add a "ScriptResources.axd" <httpHandler> into your existing Beta1 web.config files:

<add verb="GET"
path="ScriptResource.axd"
type="Microsoft.Web.Handlers.ScriptResourceHandler"
validate="false"/>

If you don't do this, you will see the following JavaScript error at runtime:

'Sys' is undefined.

Hope this helps,

Scott

P.S. Apologies for the delay in posting this - I've been busy at the ASP.NET Connections Conference in Las Vegas the last few days (talking to the 1500+ people attending the show this fall -- wow!).

66 Comments

  • Thanks for this article. I installed ASP.NET AJAX Beta 2,but why in my VS2005 cannot find atlas ttemplate? and i cannot create altas project?

  • Congratulations. I'm a great fan of UpdatePanel and UpdateProgress. They are very useful and yet simple to use. A small improvement that could be made to UpdateProgress is adding a RenderMode to it just like the one UpdatePanel has, so it can be rendered inline.

  • Hi Scott
    Congrats to you and team on the latest release - AJAX is wonderful. Any comment/ update on the possibility of a non-GAC version as you mentioned previously? My client won't install beta software in the GAC, which means I've had to go back to the last CTP before Beta 1...
    Cheers

    Simon

  • Hey Scott, did your guys ever take a look at the problem I was having with the TextBoxWaterMarkExtender? I remember you looped a guy in but he never responded.

  • Great news.
    Thanks, Scott.

  • Does that release support medium trust if the core dll is installed in bin directory? This would be a big help for all of us surviving in shared hosting as most of the hoster have not yet installed the ajax beta on to their servers.

  • Hi Fumade,

    After you install ASP.NET AJAX Beta2, you should be able to-do File->New Web Site and select the "ASP.NET AJAX" template that is in the top-list of web site templates. Are you not seeing this? If so, can you send me mail (scottgu@microsoft.com) and I can have someone investigate.

    Thanks,

    Scott

  • Hi Simon/Harpreet,

    The team is looking into the local \bin deploy support now. You can with both B1 and B2 deploy the ASP.NET AJAX assembly in the \bin directory and not GAC it and have it run fine provided you run in full-trust.

    To run in partial trust (which is what most shared hosting scenarios use) you need to GAC the assembly - which some hosters aren't willing todo until the final V1 release.

    We are looking at possibly releasing an interim special build that will support \bin directory based partial trust as a workaround in the meantime - although it isn't included in this Beta2 release just yet.

    Hope this helps,

    Scott

  • Hi Brian,

    Can you send me an email about the Bridge support? I'm not sure myself of its status with this release, but could loop you in with someone who would know.

    Thanks,

    Scott

  • Hi Zack,

    I'm not sure about the TextBoxWaterMarkExtender issue. Can you send me mail reminding me what it is and I can loop someone in to check.

    Thanks,

    Scott

  • Hey Scott, any chance you could post a quick walkthru of the demo you did at the keynote on Tuesday? In particular how you created that data layer in 5 seconds, attached a gridview to it and than ajaxed it in under 10 minutes...that was just amazing, and I'd like a closer view at what you did. Thanks!

  • Hello

    i tried teh webparts with FireFox, it is working for the first move, from one zone to another then if i want to move another control it won't it keep like select the text on the page from where i have putten the first control, some times it work again if go to browse mode the desgin mode

  • Hi Scott, some related Qs... I'd like to know if I can install .NET 3.0 on my XP sp2 that has .NET 2.0 and Ajax Extensions Beta 2 (including Nov. CTP) installed.

    Another Q: can I install and use AJAX Extensions and CTP Nov. on a Windows Vista RC2 machine (which has .NET 3.0)?

    TIA,
    Pieter

  • Hi Scott,

    Is there a new way of extending multiple controls in the new Beta?

    Ie. in one of your webcasts you use more than once to extend several controls but this doesnt seem to work now!

    Great news though, we're having a lot of fun with the new controls. :-)

  • thanks for you reply,Scott.
    I see it now. but when i new a web application(not web site), i cannot see the template.

  • I'm having a helluva time getting my app to compile after uninstalling Beta 1. I did everything I thought should work.

    Getting "Unrecognized tag" on the ScriptManager.

    Checked my web.config for all the appropriate entries, they're all there.

    Even tried removing them from the Toolbar and readding and then dragging and dropping, thinking maybe VS knew something I didn't. No dice.

    I tried copying DLL's to the BIN. Even though they're in the GAC. Notta.

    Added Register statements directly to the page with full path's (tokens, full names). Same build error.

    I thought I would remove them from the GAC and keep it local, isolate the issue. I get an error trying to wax the Microsoft.We.Extensions.dll from the GAC saying other apps rely on this assembly. This is EXTREMELY frustrating. Why should I not be able to uninstall DLL's from MY GAC?! I didn't even know this was possible.

    I deploy my app out on a hosted server that runs in medium trust mode with a few options. I don't have access to the GAC obviously. I like to develop in a similar environment.

    How can I get my app to build again?

  • Figured out a solution.

    If it's a masterpage that uses a nested masterpage then a register directive needs to be on the page. Using the asp tagprefix causes problems as well.

    Here's my directive:


    Everything builds now.

  • I just started with Atlas and found it easy to convert an App I had to use an update panel and a timer. It works great running on my workstation from within VS2005, but when I publish to my server and try to access I get...

    [MissingMethodException: Method not found: 'Void Microsoft.Web.UI.Controls.Timer.add_Tick(System.EventHandler)'.]
    _Default.set_timer1(Timer WithEventsValue) +0
    ASP.atlascalendar_aspx.__BuildControltimer1() in C:\Sites\InsideLiberty\atlascalendar.aspx:20
    ASP.atlascalendar_aspx.__BuildControlform1() in C:\Sites\InsideLiberty\atlascalendar.aspx:11
    ASP.atlascalendar_aspx.__BuildControlTree(atlascalendar_aspx __ctrl) in C:\Sites\InsideLiberty\atlascalendar.aspx:1
    ASP.atlascalendar_aspx.FrameworkInitialize() +39
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +40
    System.Web.UI.Page.ProcessRequest() +86
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49
    ASP.atlascalendar_aspx.ProcessRequest(HttpContext context) +29
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +154
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64


    Any help would be greatly appreciated...

    -Scot

  • Wow some good work being done in Asp.net Ajax extension
    Is there any plan to support the partial page update even without using the static methods

  • Hi Vikram,

    I'm not sure I understand the partial page updates without static methods part of your question. UpdatePanels don't require any static methods at all today.

    Hope this helps,

    Scott

  • Hi Scot,

    Have you installed ASP.NET AJAX Beta2 on your saerver? From the method above it sounds like you are running into an issue where an assembly can't be found or loaded.

    Thanks,

    Scott

  • Hi Dieter,

    Can you send me a simple .zip file showing the error? I can then loop in a few folks from my team who will be able to investigate and help.

    Thanks,

    Scott

  • Hi Fumade,

    Unfortunately with ASP.NET AJAX Beta2 it only has a "new template" for web-site projects, and not for web-application ones.

    The next refresh will include an ASP.NET AJAX template for "New Web Application" as well.

    Thanks,

    Scott

  • Hi Chris,

    We changed the syntax for extender controls slightly with ASP.NET AJAX Beta1. Rather than have extenders have sub-properties, you instead just declare multiple top-level Extender controls.

    So for your roundedcorner example you'd just have two roundedcornerextenders on the page - each pointing to a separate control to extend.

    Hope this helps,

    Scott

  • Hi Michael,

    I just sent mail to somone on the team about the substitution feature to see what the status is.

    Thanks,

    Scott

  • Great, thanks Scott! The substitution ability is important for the control my company is developing. I got around it for now by just using another javascript class that gets processed by the normal resource handler. I use this class from within my ASP.net AJAX classes in order to retrieve the resource image urls. I look forward to the next release from the team.

  • Thanks for the response, Scott. I have installed beta 2 on the server. I just removed and reinstalled it and I still get...[MissingMethodException: Method not found: 'Void Microsoft.Web.UI.Controls.Timer.add_Tick(System.EventHandler)'.]

    The server is up to date on server 2003 and iis6 and is runnig .Net 2.0 apps without any other issues...

    An further ideas, or a point to where I may get more assistance with this?

    Thanks,
    Scot

  • hi scott,i have followed the proceduers that you have given in working with UPDATE PANEL and SCRIPT MANAGER but i cant restrict the POSTBACK..Can You Please Point POsssible Mistakes we have OR SIMPLFY How to USE ASP.net AJAX,CONTRLS..

  • When are you going to implement Menu and UpdatePanel compatibility?

  • Does Beta 2 support use of the file upload control in the UpdatePanel?

  • Hi John,

    You can't do asyncpostbacks with FileUpload (the browser doesn't allow it).

    But Beta2 does allow you to have both async postbacks and regular postbacks for updatepanels now. If you register a trigger to-do a regular postback on file-upload scenarios it will work.

    Hope this helps,

    Scott

  • Not sure if you noticed, but this page elicits a javascript error:

    "Sys is undefined"

    Not reading our own upgrade advice? ;)

    - Oisin

  • Lack of support for instance page methods will make it difficult, if not impossible, to migrate to this from our development with the earlier ATLAS betas.

  • Hi Scott,
    i have the problem, that on our live-system no scriptresource-files are transferred to the client. Any Idea? On the dev-system everything works fine.
    Thnx

  • Scott, I got great help from the Ajax video you did (Scott's Todo List). Is there anyway to get the code for that? Specifically, the stylesheet.css file and images folder that you copied in.

  • Hi Bart,

    If you can email me (scottgu@microsoft.com) I will send you the stylesheet and images.

    Thanks,

    Scott

  • Hi Christian,

    I haven't heard of that issue before. Can you send me an email with the details and I'll loop someone in to take a look?

    Thanks,

    Scott

  • Hi Russell,

    Can you send me email (scottgu@microsoft.com) about your page instance method usage? I can then loop you in with someone on the team who can help.

    Thanks,

    Scott

  • I want to use Menu with UpdatePanel(Ajax)but it not works. How I can use it?

  • can it be rendered inline ??? so it can appears next to a button without pushing everyting down.

  • Hi Scott,

    I am using ASP.NET Ajax 1.0 beta 2 NOV CTP release. I am trying to use the drag-drop list functionality. The error I get is "Array.add is not a function". Is that a known issue? Am I missing something here?

  • Hi Stathis,

    There is an control within the ASP.NET AJAX Futures download. That should help.

    Thanks,

    Scott

  • Hi Steve,

    Can you send me an email (scottgu@microsoft.com) with the sample you've tried? I can then loop someone in from my team to help.

    Thanks,

    Scott

  • Hi Shai,

    You shouldn't be seeing any security exceptions. Can you send me an email with the details and I'll loop you in with someone from the team?

    thanks,

    Scott

  • Hi
    Scott,

    I’m using asp.net 2.0 with AJAX 1.0 Beta 2 version for my application.
    I’ve installed AJAX 1.0 Beta 2 with November CTP on my local machine.(not on server)
    Everything is running fine on local machine. But when I deploy my aaplication
    Web server an run,it gives me error as “Attempt to access the method failed. “
    The following are the dlls which I’ve copied on bin folder on web server.

    1) Microsoft.Web.Preview.dll
    2) AjaxControlToolkit.dll
    3) Microsoft.Web.Extensions.Design.dll
    4) Microsoft.Web.Extensions.dll


    Thanks & Regards
    Vikas Neema

  • Scott,

    Is there an estimate on the release date of the production version of AJAX 1.0?

    Thanks,

    Alan

  • Hi Alan,

    We are shooting to ship the release candidate of ASP.NET AJAX 1.0 next week. We then hope to ship the final release of it within 4 weeks after that.

    Hope this helps,

    Scott

  • Hello,
    I've upgraded an existing (and working) application from beta 1 to beta 2. Now nothing works: I've a lot of updatepanels, that may be updated when some button has clicked, or when a row is selected on a datagrid, that with beta 1 updated asyncronously the UI, and now raise a postback. Any idea?

  • I installed AJAX 1.0 beta 2, Nov CTP, and ToolKit. When I try to crate a very simple website, I got 3 warnings and 24 messages. Such as "The requirePermission attribute is not declared, could not find schema information for the element 'validation'. It looks like the Web.config file can not talk to "GAC" to get required info. I saw many post above have same problem. Can you tell us how to work around???? Thanks

  • I'm looking for away to send more than the default 2 parameters (prefixText, count) to the AutocompleteExtender. Is there any simple way to do this or will there be an update on thie extender later? Anyone know?

  • Hi Scott

    I've placed a user control (.ascx) under update panel (asp.net ajax 1.0 beta 2.0),
    the user control contains a menu control.
    however i feel when i click on the Menu links
    it is doing postback to the server i want to avoid it using ajax but it does not seem to work
    Please provide a solution

    Rgds,
    Sachin P Thakkar
    Software Engineer
    India

  • Hi Scott!

    I have upgraded my website form ATLAS to AJAX Beta2 following the migration guide. But am facing the 'Sys is undefined' error on pages containing the ScriptManager.

    Could you please help me out?

    Thnx,
    Jigna

  • Hi Jinga,

    Usually this means that you don't have the web.config file configured exactly right, or that you might be running into this issue: http://weblogs.asp.net/scottgu/archive/2006/12/10/gotcha-don-t-use-xhtmlconformance-mode-legacy-with-asp-net-ajax.aspx

    Can you check both of these?

    Thanks,

    Scott

  • Hi Scott,

    I have picked my web.config from C:\Program Files\Microsoft ASP.NET\ASP.NET 2.0 AJAX Extensions\v1.0.61025 itself.
    Also, I haven't included the tag.

    Regds,
    Jigna

  • Hi Jigna,

    Are you using either IIS7 or IE 6 SP1 when testing this application?

    Thanks,

    Scott

  • Hi Scott,

    I am using Win2003, VS 2005, IIS 6 with IE 6 SP2 for the application.

    Regds,
    Jigna

  • Hi Jigna,

    Can you send me an email with a simple repro of the problem, as well as details on your exact setup? I'll then loop in someone from the ASP.NET AJAX team to help investigate.

    Thanks,

    Scott

  • hi scott,
    i got thie below error in AJAX
    "Sys.webforms.Pagerequestmanager server error exception"

    please help on this

  • Hi Scott,

    I'm literally at the start of my development process and I'm getting the Sys is undefined error, even though all I've done so far is create the website straight from the AJAX template through Visual Studio.

    I've noticed IE6 SP1 mentioned which is indeed what I'm using. Any solution that you know of?

  • Hi Wade,

    Unfortunately ASP.NET AJAX needs to be installed by the hoster on the machine in order to have it run in partially trusted scenarios (which is what most hosters run under).

    If they don't do this, then you can copy the assembly to the \bin directory of your application - although when you do that it does need to run with full trust.

    The final release of ASP.NET AJAX will be shipping a little later this month - at which point we expect hosters to aggressively install it on machines.

    Hope this helps,

    Scott

  • Hi Kunaal,

    Can you send me a .zip file that contains a simple repro for the problem you are running into?

    I can then have someone on the team help investigate and figure out what is wrong.

    Thanks,

    Scott

  • MissingMethodException: Method not found:

    hi i am getting the above error in release mode of my project.

    any help?.

    thanks in advance.

  • Have you found a solution to the 'Sys.UI.DomEvent' is not an object error? I'm having the same problem with AJAX 1.0 and user control. My user control contain controls that emits JS. How can I work around this issue if a solution is not possible.

  • Hi Scott,

    How do i make call two events from the same page simultaneously using the ajax 1.0.

    I tried with two update panel with two button on each of them. if you click on button1 and then click on button 2 it invalidates the button 1 call and executes the button 2 call.
    Bottom line when a request is sent and page is waiting for the response to come and in between if another ajax call is made it invalidates the current executing call.
    I would appreciate if you can give a solution to it.

    Thanks a Million

  • In my experience The Sys.UI.DomEvent obj error is caused when the client has an out dated version of jscript installed.

    check the version of jscript.dll and see if it is 5.6.

    In my network I had one machine that spit out these errors on my ajax enabled website as well as ajax.asp.net.

    I updated the jscript to version 5.6.0.8513 and the my site rendered as it was designed. 5.6 should get installed with IE6, but windows file protection prompts that system files are being replaced and allows the user to keep the old files. I believe this is what happened to this one machine.

  • Hi Ravi,

    You can't make two simultaneous calls with the UpdatePanel.

    However, you can use client-JavaScript with the ASP.NET AJAX client networking stack and call back to the server (either to a static page method or a web-service webmethod). Using this later approach will enable you to make two calls in parallel.

    Hope this helps,

    Scott

Comments have been disabled for this content.