ASP.NET AJAX Beta 1 Released

Last month I posted about the official new name for “Atlas,” and discussed the roadmap plan for shipping a free, fully-supported, v1.0 release that works on top of ASP.NET 2.0 and Visual Studio 2005.

Today I am very pleased to announce the first official Beta release of Microsoft ASP.NET AJAX v1.0. You can download it now from the http://ajax.asp.net site. Available on the site are three download options:

1) The ASP.NET AJAX v1.0 “Core” download. This redist contains the features that will be fully supported by Microsoft Product Support, and which will have a standard 10 year Microsoft support license (24 hours a day, 7 days a week, 365 days a year). The download includes support for the core AJAX 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, and Timer controls).

2) The ASP.NET AJAX “Value-Add” CTP download. This redist contains the additional higher-level features that were in previous CTPs of “Atlas,” but which won’t be in the fully-supported 1.0 “core” redist. These features will continue to be community supported as we refine them further and incorporate more feedback. Over time we’ll continue to move features into the “core” download as we finalize features in this value-add package more.

3) The ASP.NET AJAX Control Toolkit. This project contains 28 free, really cool, AJAX-enabled controls that are built on top of the ASP.NET AJAX 1.0 “Core” download. The project is collaborative shared source and built by a combination of Microsoft and non-Microsoft developers, and you can join the community or just download it on CodePlex today.

Some of the Changes with the Beta

There are a number of changes that the team has made with this beta release. A few of the significant changes include:

Performance and Download Size Optimizations

Previous ASP.NET AJAX CTPs relied on the browser downloading a single large, JavaScript file to the browser that contained all of the features. With this Beta release we have spent a lot of time on factoring out features into multiple files (so you don’t have to download them unless you use them), and in optimizing the bandwidth size of the overall library. The ASP.NET AJAX “Core” download now includes two JavaScript libraries that are used to support all of its features:

a) The MicrosoftAjax.js.gz script file contains the core JavaScript type-system, component/control model, JSON networking/serialization stack, and application-serviceas features (Profile + Authentication). It is now 14.8k in size.

b) The MicrosoftAjaxWebForms.js.gz script file then adds the support to enable UpdatePanel scenarios and partial page rendering. It is 6.4k in size.

These files are only downloaded by a browser once when visiting a site -- they are then cached on the client and reused across all pages and repeat visits. The new size targets should ensure a snappy and speedy experience the first time you hit a site.

In addition to optimizing the initial download size of the JavaScript libraries, we have spent time optimizing the network traffic size of client JavaScript callbacks to the server. Controls like the UpdatePanel, UpdateProgress, and Control Toolkit controls no longer emit xml-script by default, and instead just emit 1-2 lines of JavaScript (which can help significantly reduce the network traffic size on the wire).

We have also moved from using JavaScript closure-based classes to using prototype-defined classes in the core type system, which we’ve found reduces memory usage for most common application scenarios.

Safari Browser Support

Previous ASP.NET AJAX CTPs didn’t have great support for Safari (UpdatePanel didn’t work at all). With this Beta we have added Safari as a fully tested and supported browser.  We are currently working on adding Opera support as well – although we aren’t ready yet to call it supported with this build (stay tuned for updates).

Significantly Better Debugging Support

As anyone who has spent a lot of time doing it can attest, debugging JavaScript is often not a lot of fun. We’ve made two significant changes with this Beta that will help improve the debugging experience with the Microsoft AJAX Library considerably:

1) By moving our JavaScript class definitions from being closure-based to prototype-based, you can now use the existing Visual Studio 2005 script debugger (and/or other existing JavaScript debuggers) to better inspect and step through JavaScript objects. Closures previously hid a lot of inspection information.

2) We invested a lot of time putting together an automated JavaScript build environment that enables us to produce two versions of all of our JavaScript files: a retail version that is optimized for performance and download size, and a fully instrumented debug version that is optimized for helping you catch issues with your code during development. Every function within the debug version of our script files now includes parameter and argument validation code that verifies that the function is being passed the correct arguments before running, and that will assert with stack trace information if not. This can help to more easily pinpoint errors with your JavaScript code early, and hopefully significantly improve JavaScript debugging.

Note: By default, the decision to use the retail vs. debug versions of the AJAX script libraries is driven by the <compilation debug=”true|false” /> setting within your web.config file. Because this client-side parameter validation code significantly increases the size and performance overhead of the client-libraries, make sure you set debug=”false” before deploying any application (for more reasons on why you should always set debug=”false” when deploying ASP.NET applications, please read this past post of mine).

Another Note: Our plan is to have the next version of Visual Studio use the same argument validation metadata that we use at runtime with debug scripts to also drive IntelliSense and syntax checking of JavaScript within the IDE. You can add this metadata to your code to improve validation, error checking, and eventually IntelliSense of your own JavaScript libraries as well.

UpdatePanel Improvements

The UpdatePanel control have been updated significantly with this Beta release to incorporate customer feedback. In addition to adding Safari browser support, the UpdatePanel control now has new support with this Beta for:

a) Client-side script event hooks to let you write client-side JavaScript to more easily participate in callbacks.

b) The ability to contain controls within an UpdatePanel that trigger both partial-page postbacks as well as normal postbacks (you now get to choose depending on your scenario). You can also now disabled child controls from causing UpdatePanel postbacks at all.

c) The ability to use ASP.NET validation and Wizard controls within UpdatePanel controls (there were some bugs that prevented this before).

d) The ability to dynamically create and add UpdatePanel controls into a page, rather than having to statically define them. This is particularly useful for control developers who can now instantiate and use UpdatePanel controls within their composite controls.

e) The ability to have multiple UpdateProgress and Animation controls on a page that can run conditionally based on which UpdatePanel callback is occurring.

f) The ability to declaratively specify how long to wait before an UpdateProgress control should become visible. This enables you to avoid showing progress status for quick UpdatePanel callbacks.

g) Support for screen readers and other accessibility tools with UpdatePanel scenarios to better implement Section 508 standards.

Important Beta Note: the UpdateProgress control with the Beta is currently shipping in the "Value-Add" download, so you will need to add this to your site in order to use it.  With the next beta refresh it will be moved to the "core" download, and will be a fully supported scenario. 

Lots of Improvements in the Client Script Library Stack

We’ve incorporated a lot of customer feedback and cleaned up, simplified, and enhanced a lot of the client-side JavaScript library APIs. In addition to moving from closures to prototypes, a number of other API cleanup changes have been made including:

a) Simpler client JavaScript event model. It is now easier to define and attach events on the client. Object events are also now created on demand to reduce startup time and the size of the working set.

b) Simpler Component, Behavior, and Control types. APIs can now be used without first needing to instantiate their related objects, and on-demand semantics have been added to improve performance.

c) Client networking improvements. Default callback functions and method-name semantics provide a much easier way to perform common asynchronous callbacks.

d) Membership and Profile APIs. Simpler APIs for interacting with the Membership and Profile APIs from client-side JavaScript are now supported.

Better Compatibility with other AJAX Libraries

One challenge with JavaScript is that collisions between different client-side JavaScript libraries can be ugly. Previous ASP.NET AJAX CTPs defined a global helper function named $( ) that conflicted with other common JavaScript libraries (including Prototype and Scriptaculus).

With this Beta we have renamed our $( ) function to $get( ) and made a few other naming changes to help enable multiple independent AJAX libraries to play nicely together on the same page.

Source Modification License

One common request we have received is the ability for developers to make source modifications to the core Microsoft AJAX JavaScript library (to add a small feature, tweak an implementation, or make a tactical bug fix).

We are going to provide a license to explicitly allow custom modification of the libraries, and the ScriptManager API that ships with this Beta now allows you to provide alternative implementations/tweaks of the built-in JavaScript libraries. In addition to allowing you to tweak the libraries for your own applications, the license will also grant redistribution rights so that you can ship them with your own components and extensions. (The one requirement for redistributing your own custom version is that you need to change the namespace to avoid conflicts.)

We think the combination of having both full enterprise-level support (with 10-year support services), along with modification redistribution rights is a really powerful offereing that will provide developers with a ton of flexibility regardless of their project type, size, or target audience.

Next Steps

As you probably noticed from the paragraphs above, there are a number of new features and changes with this Beta. Existing ASP.NET AJAX code will need to be updated to reflect these changes.

If you have been using server-side ASP.NET AJAX features, you should find the updates relatively straightforward. These will mostly involve renaming the control prefix from <atlas:> to <asp:>, modifying the trigger syntax for UpdatePanel controls, and making small syntax changes to how extender controls in the Control Toolkit are declared.  You can read a migration guide with the details on how to-do this here.

If you have created your own JavaScript class types and, or if you interact with the component model directly, you will need to make more significant changes. What we’ve found when updating samples is that the JavaScript changes are not too complicated by themselves – what is frustrating is that JavaScript’s type-less flexibility prevents tool compilation checking, and forces you to update things iteratively to find and fix each change, which can be tedious and annoying. To help with migration from the CTP to the Beta, the ASP.NET AJAX Team has published a detailed document listing the specific changes that have been made and which includes code samples that show before and after versions of common patterns and APIs usages. We will be publishing this document shortly here.

The ASP.NET AJAX team will also be monitoring the forums closely over the next few weeks to help people with migration questions and any issues they find. Please post in the forums to get help if you run into any issues, find any bugs, or need any help.

We are really looking forward to having lots of people use the Beta and to getting more feedback. We believe the API definitions for the features currently in the ASP.NET AJAX v1.0 Core download are now pretty close to being final, and our plan for the rest of this year will be to keep taking feedback and bug reports, and stabilize and lock down the release. Our plan is to release a beta refresh in a few weeks that incorporates customer feedback, then ship a RC release after that, and then ship it as a fully supported 1.0 release once people feel it is ready.

Thanks,

Scott

97 Comments

  • Brilliant

    I downloaded this as soon as it became available (in the UK this morning) and have been implementing it all day.

    So far so good (a few little niggles but mostly due to my lack of understanding rather than an actual problem)

  • This is great news, I started using update panel lately and was amazed with the results.

    Jakub

  • Hi Scott, did you remove the PageMethods (when adding the WebMethod attribute)?

  • Excellent news!

    "e) The ability to have multiple UpdateProgress and Animation controls on a page that can run conditionally based on which UpdatePanel callback is occurring"

    I'm very happy to see this make in Atlas.

    Question: has there been any updates in the 'drop' ability of the drag and drop?

    ie. a 'drop' control - ie. ability to define drop areas that can raise events to be handled by the developer - as well as attaching data to a draggable item (similiar to a 'Tag' in the Winform treeview control).

    Thanks!

  • I must add, as I reread this part:

    "Another Note: Our plan is to have the next version of Visual Studio use the same argument validation metadata that we use at runtime with debug scripts to also drive IntelliSense and syntax checking of JavaScript within the IDE. You can add this metadata to your code to improve validation, error checking, and eventually IntelliSense of your own JavaScript libraries as well"

    This is also fantastic!

  • Sorry Scott, I'm trying to use the AutoCompleteExtender in the new Microsoft.Web.Preview.dll.
    I have follow instructions in the migration guide of the Ajax beta, but it seems that the web service involved in the autocomplete process was never called.
    Please do you know if exist some differences in declaration of WebService method invoked by the AutoCompleteExtender control? Thank you.
    Stefano.

  • Scott,

    one weird thing I've noticed: Intellisense seems to not work any more for the AJAX controls. Any ideas?

  • Thanx Scott and the whole bunch of devs who made this reality, this is great news! :-)

    I'll be moving over to the beta later today and report any issues I find on the forum.

  • I was waiting for the ability to have different UpdateProgress for different UpdatePanels, and now it's here!! Great job!!

  • Scott,
    where can i install “Value-Add” CTP from ?

  • Hi Steve,

    We are planning to implement better drag/drop support soon. The Ajax Control Toolkit team has plans for several new controls that should make those scenarios really easy (similar to the animation library they recently built).

    Thanks,

    Scott

  • Hi Rohit,

    Here is a link to all of the downloads: http://ajax.asp.net/default.aspx?tabid=47&subtabid=471

    Hope this helps,

    Scott

  • really good, thanks!

  • Hi Scott.

    Great news, but something puzzles me:

    "It is no longer necessary or supported to include the Microsoft.Web.Atlas.dll assembly in a Web project's local Bin folder"

    What do I do if I want to deploy an application that uses v1.0 of ASP.NET AJAX on a hosting server?

    Until now, I had the dll in the /Bin folder. Now what do I do? Ask someone at the hosting service to be nice and install ATLAS on their servers for me?

    Wouldnt they just say no ? (or better yet, ignore me...)

    Any way around this ?

    Thanks

  • new ajax dll puts in GAC,
    but didn't showing up in VS2005 add ref dialog.
    :(

  • Will the JavaScript build tool be available to people outside Microsoft to build their own release version of JavaScript files from a debug one? Such a compressing tool will be very useful.

  • Stephano

    I am having the exact same problem with the AutoCompleteExtender.

  • Hi Jeff,

    This document lists all of the configuration changes to upgrade a previous build to this one: http://ajax.asp.net/files/Migration%20Guide.doc

    Probably the easiest way to upgrade it though is to use the new site template to create a new web.config file that has everything in it, and then just copy in your own settings.

    Hope this helps,

    Scott

  • Hi Stefano,

    For the AutoCompleteExtender, there is now a requirement that you add a [ScriptService] attribute before the web-service class name.

    This is for security purposes to avoid you accidentally publishing a service to script that you didn't previously want to. I believe this should fix the AutoCompleteExtender not working issue you are seeing.

    Thanks,

    Scott

  • Hi Yaip,

    The download for the "Value Add" CTP is on this site here: http://ajax.asp.net/default.aspx?tabid=47&subtabid=471

    Hope this helps,

    Scott

  • I implemented the new beta today, and was surprised to see 63KB and 183KB .axd resources in the IIS log. Your announcement says the AJAX library was cut down to 6KB, but I found a file called MicrosoftAjax.js which is 63KB! I haven't done any network traces to confirm this.. are these files compressed when they get sent over the wire, or is that the real file size?

    The 183KB file was the value add CTP portion, which I assume isn't fully optimized yet. Assuming the axds are compressed and MSAjax really is 6KB over the wire, what is the compressed size of the CTP resource?

    TIA

  • I have a request - why not just group everything in one download, let the developer decide what to use in the package?

  • Hi Chris,

    You are probably running with debug="true" set in your web.config file. In that case it is downloading a large .js file that isn't crunched/compressed, and which has diagnostic code in it.

    If you set debug="false" you should get the 14k size I mentioned above.

    Hope this helps,

    Scott

  • Hi Josh,

    Thanks for catching this -- I just updated the link in my blog post above.

    Thanks,

    Scott

  • PageMethods no longer work with this Beta. Any ideas?

  • I realize, in All sample downloaded, all the Drag/Drop is not working with error, popup Array.add do not have such function, or sth like that, both in IE7 and FF1.5, after a bit dig, found that in the Core, ajax extend Array.add(item), but in preview(valueadd), it use like Array.add(object,item), is there anything wrong with this ?
    thanks

  • XHTML 1.1 supported (validating) yet? What about DOM vs. innerHTML?

  • Hi Domenic,

    Yep - ASP.NET AJAX should be fully XHTML compliant.

    Hope this helps,

    Scott

  • Hi Steve,

    PageMethods are still supported - although now they have to be static methods and decorated with a [Microsoft.Web.Script.Services.ScriptMethod] attribute.

    You can read about this here: http://blogs.msdn.com/sburke/archive/2006/10/21/hint-components-that-use-web-services-with-asp-net-ajax-v1-0-beta.aspx

    Hope this helps,

    Scott

  • Hi Kevin,

    I'm not sure I understand entirely the issue you are running into. Can you send me email with details - I can then loop someone on the team to help.

    Thanks,

    Scott

  • would this product compete with GWT ? or is it far superior ? :)

  • Another minor issue... Intellisence is not working for <asp:UpdatePanel or <asp:ScriptManager if you add them to a page that uses a MasterPage. You get a formatting error that doesn't prevent from compiling, but was working fine in last CTP. Switching to prefix 'atlas' instead of 'asp' in web.config file fixes the problem.

  • Hi Chris/Eric,

    There is an issue we've found with Beta with the control which can cause intellisense in the html editor to be a little flaky. The specific problem seems to occur if it is inside a control. This will be fixed with the beta refresh.

    Hope this helps,

    Scott

  • Hi Eric,

    With Beta1 the UpdatePanel now requires that you explictly register your scripts with the ScriptManager to work inside of an UpdatePanel. With prior CTPs the UpdatePanel tried to automatically manage this for you, but we found that with more complex controls that didn't know about the scriptmanager semantics it was almost impossible to get this right automatically. So with Beta1 controls will need to register themselves explictly so that they can indicate the right semantics.

    Hope this helps,

    Scott

  • Hi Carl,

    Apologies about the state of the documentation. We are still working on getting this updated and to have more samples published. Because of the changes with Beta1 not all of it is up-to-date, which is why the docs look smaller. As they get updated we'll be publishing more and more.

    Hope this helps,

    Scott

  • Scott, thanks for your reply. I think you correctly identified it, I'm using master pages and am using both ScriptManager & UpdateManager within an asp:content tag. Just wanted to confirm that appears to be the problem in my case.

  • Excellent work by you and your team Scott. &nbsp;I&#39;ve been a hardcore asp.net dev for a long time (when it was known as ASP+) and I found myself using the asp.net stuff less and less here recently, favoring writing my own client-side repeaters, ajax call backs, completely abandoning viewstate, etc. &nbsp;
    This weekend I decided to get serious with Atlas. &nbsp;One word: Bravo. &nbsp;You guys have nailed it. &nbsp;I&#39;m writing my own JSON converters (Guids, structs i use internally everywhere, and other various objects), converting all my previous AjaxPro.net page calls to web services. &nbsp;Monday morning I&#39;m recommending for our next release of our product we ditch a Dojo &amp; Yahoo UI Toolkit solution and replace it with Atlas. &nbsp;The Section 508 support is VERY important for us as well (Higher Ed).
    Your team obviously understands the paradigm and that is easing the use of, while not obfuscating the details of what&#39;s going on under the covers. &nbsp;While your team is sharp, there&#39;s no way they can predict what I&#39;m wanting to do under-the-hood and making it easy for me to use Atlas&#39;s infrastructure while subbing in my own functionality is HUGE. &nbsp;I can skip all the mundane plumbing. &nbsp;
    Couple areas for improvement:
    1. &nbsp;Docs. &nbsp;They suck. &nbsp;I find myself firing up a decompiler (Lutz&#39;s Reflector) on the DLL&#39;s and actually figuring out what&#39;s going on. &nbsp;ScriptIgnoreAttribute in particular (who&#39;da thunk it). I&#39;m sure internally you guys have solutions you use for testing; publish&#39;em. What would be sweet is if you guys all took 1 day, 8 hours, to write a blurb about every class and public method you wrote. &nbsp;I don&#39;t care about spelling, if it&#39;s grammatically correct...i want some some details.
    2. I don&#39;t understand while the serializers don&#39;t use the internal ISerialize methods, so I don&#39;t have to decorate my classes with Json stuff.
    3. &nbsp;I use nested maserpages. &nbsp;Intellisense doesn&#39;t work in VS at all for ASP controls (buttons or anything). &nbsp;I keep a spare page that has a body tag on it so i can get intellisense. &nbsp;Without Intellisense i&#39;m completely handicapped at learning a new object (It&#39;s sad, i know), but when I see properties in a drop down I frequently go &quot;ohhh! &nbsp;wonder what that does?&quot; and without Intellisense that curiosity isn&#39;t fed. &nbsp;

  • Hi
    Again about *.js sizes
    After setting debug="false" in web.config
    I got for
    MicrosoftAjax.js = 67K
    MicrosoftAjaxWebForms.js = 32K

  • Hey,

    Anyone still unaware of the jsc project?

    go to jsc.sourceforge.net and try the c# to javascript translator

  • Real shame about the lack of support for a non-GAC installation. This knackers ATLAS for me (and many others I'm sure) as I run in a shared hosting environment. This is particularly disappointing as I have been using the CTPs for the past 6 months and have been impressed.

  • Hi Scott

    Great news. I have a problem though. With the new version, events on controls inside a UpdatePanel does not seem to be fired.

    Ex. I have a

    Otherwise the content in the UpdatePanel updates just fine.

    Is this a bug or a feature? Or am I missing something?

  • A temporary fix is to change the 'asp' prefix in web.config file back to 'atlas' (actually anything other then 'asp' would work) and then change prefix to 'atlas' on your UpdatePanel and ScriptManager controls. Then intellisense works again. Scott, can you please confirm that this doesn't break anything.

  • Hi Scott.Thx to you & your team for the great work to date. Just upgraded to Beta 1 and now I cannot get webparts inside an updatePanel to work - even though this is apparently supported in the CTP add-on. Worked great in the last CTP, pity to have to downgrade to get the functionality back... any ideas?

  • For:

    "3. I use nested maserpages. Intellisense doesn't work in VS at all for ASP controls (buttons or anything)."

    If you are directing that VS bug as being a general bug and not "Atlas" specific, all you need to do is have the nested .master files open in VS, then intellisense works fine....

  • Excellent work Scott...

    I am really impressed with file size of 14.8 :)

  • Hi Josh,

    I definitely hear and agree with you on the docs. They still need a lot of work (we are working on that now).

    There is an issue right now with intellisense that we are still working on getting fixed. One temporary solution that someone mentioned above is to rename the control prefix to something like aspajax: instead of asp: -- apparently this workaround fixes it with the beta.

    Hope this helps,

    Scott

  • Hi Anatoly,

    Are you requesting the .js files directly, or via the webresource.axd extension? The later will compress the .js files and deliver the ~14k download size I referenced above.

    Hope this helps,

    Scott

  • Hi Scott, I just started looking at Atlas when it was renamed. The videos make it look exciting and I have tried a few of the what I believe is now "The ASP.NET AJAX Control Toolkit". I love it.

    However, I'm a little confused as to how the 3 ASP AJAX products differ from and support each other. I'm also getting the impression that AJAX Control Toolkit is completed, but the other 2 items are still in beta. Is that correct?

    Are the vidoes now obsolete and will the be updated?

  • Hi, im have update to BETA1 but the autocomplete extender have a bug?
    Because the page shows an error.

    Erro:Sys.ArgumentNullException: Value cannot be null
    parameter name: value

    is this a bug? or im doing something wrong??
    Thanks

  • Scott,

    Why don't support installation in the "bin" folder? my ISP have refused to install the assembly since is a beta version... is there a possibility to free it from the GAC and put in the bin folder if we need, at least until the final version is released ?

    Thanks!!

  • Scott - gain much thanks for having made time to have people look at my issue - you rock...

  • Hi Scott,

    I have a custom control which uses the following code to create the text box and the AutoCompleteExtender. I was using the July CTP and I was using the AutoCompleteProperties and AutoCompleteExtender which worked fine. However when I migrated to the latest Microsoft.Web.Preview I cannot get my old code to work. I have followed the guidelines to change the web.config and to rename the <atlas: into <asp: and have put [ScriptService] as a class level attribute to the web service class.
    Any ideas on what I might be doing wrong?

    Thanks.
    Chaminda

    TableRow tableRow = new TableRow();
    TableCell tableCell = new TableCell();

    tableCell.Controls.Add(new LiteralControl(""));

    // Create Text box to add text value.
    DropDownText = new TextBox();
    DropDownText.ID = ID + "DropDownText";
    bcmDropDownText.CssClass = TextBoxCssClass;
    tableCell.Controls.Add(DropDownText);

    AutoCompleteExtender autoCompleteExtender = new AutoCompleteExtender();
    autoCompleteExtender.ID = ID + "autoComplete";
    autoCompleteExtender.TargetControlID = DropDownText.ID;
    autoCompleteExtender.ServicePath = ServicePath;
    autoCompleteExtender.ServiceMethod = ServiceMethod;
    autoCompleteExtender.MinimumPrefixLength = MinimumPrefixLength;

    // Add the controls into parent control.
    tableCell.Controls.Add(autoCompleteExtender);

  • Where's TextBoxWatermarkExtender located now? I've dug around on google and reflector for 30 mins but can't find it :(.

  • Hi Zack,

    The TextBoxWatermarkExtender is in the ASP.NET AJAX Control Toolkit: http://ajax.asp.net/ajaxtoolkit/TextBoxWatermark/TextBoxWatermark.aspx

    Hope this helps,

    Scott

  • Scott,

    I just installed beta 1 and am now getting a bug that seems to have no reference whatsoever on a google search:

    Cannot unregister UpdatePanel with ID 'updatePanel1' since it was not registered with the ScriptManager. This might occur if the UpdatePanel was removed from the control tree and later added again, which is not supported.
    Parameter name: updatePanel

    this worked with the ctp but is now broken. any ideas what is causing this?

  • Hi Scott,

    I definitely want to let you know that I am deeply impressed by your and your team's work.

    I tried to hunt down the intellisense problem many others have posted before and found out that it occurs ONLY on pages that have a master page. I pray this will help you!

    Thanks so much for this product. I wish you'd work for my company!!!

    Regards, Dennis

  • ScottGu - Thanks for working on a great solution. I've been using the latest Atlas releases to get partial page postbacks into our new app. I have to say that taking a "right turn" with the setup, configuration, and syntax makes me want to wait until things are smoothed out before I update. My recommendation is to either get it fully integrated into a .NET Framework release (my first choice), or keep it compatible with itself. Thanks again for the great work.

  • My update: &nbsp;I got on board and installed the new Ajax Beta release. &nbsp;Followed the migration doc. &nbsp;Built and deployed the web app to the development server - server does not have Beta installed, I just copied the Microsoft.Web.Extensions.dll into the web site bin folder. &nbsp;And so far, things seem to be compiling and running fine with the new stuff. &nbsp;(I&#39;m just using UpdatePanel.) &nbsp;Thanks again.

  • Hi Dennis,

    The good news is that we found the bug and are fixing the intellisense issue with VS 2005 SP1.

    Thanks,

    Scott

  • I am running into this issue...you keep a textbox and button inside the updatepanel. All we want is when we click on the button focus should remain at textbox.

    I doesn't seem to be working.


  • What about the PageMethods? They did work fine until now...

  • Hi Sascha,

    With Beta1 PageMethods need to be declared as static methods. This was a change designed to reduce confusion over whether viewstate was transferred.

    A number of people have asked to have instance based method support back again. This is something the team is looking at now to figure out whether to continue to support.

    Hope this helps,

    Scott

  • I'm impressed with the effort that is going into the beta, especially using $get() and also offering enterprize and modification licenses.

    It is extremely appreciated.

  • 2 cents more: After looking at the new docs and new code, and I can see that the incompatibilities with Atlas are for better performance and closer integration into the normal .NET framework. &nbsp;Even though part of the effort is clearly focused on a Client side UI programming framework, I strongly believe that 80% of the final value will come from more AJAX enabling of the normal ASP.NET page syntax. &nbsp;Please keep the ASP.NET programming model, and make it run better and faster with all you&#39;ve learned here. &nbsp;Thanks again.

  • Hi Scott. You say "by default" the Ajax framework uses the debug setting to determine whether to emit release or debug scripts. How can I change that? I don't want Ajax debug scripts, but I do want to debug my app...

  • Whats up with this value-add package. Do you think it will make it in the RTM.

    If it makes to the RTM how significant will the chaanges be then from what it is right now.



    AJAX_FAN

  • Hi Zack,

    Can you send me an email that demonstrates this issue? I'd be happy to loop in some folks to take a look.

    Thanks,

    Scott

  • Certainly, Scott. I'll put together some evidence and shoot it over.

  • Hi,

    I'm getting "'Sys.Preview.UI' is null or not an object" at script line "$create(Sys.Preview.UI.Controls._UpdateProgress..." when using the UpdateProgress control. Any ideas?

  • Hi,

    It seems that this problem only arises when running in debug mode...

  • Hi Pieter,

    If you can send me email about this error, I'll loop you in with someone who can help.

    Thanks,

    Scott

  • Hi Jan,

    If you can send me email on this issue, I'll loop you in with some folks to investigate.

    Thanks,

    Scott

  • Hi,

    Is there any known issue using different Doctypes with ASP.Net Ajax? Some styles does not work with the XHTML Doctype.

  • When is VS2005 SP1 going to be released?

  • The intellisence of the ASP.NET AJAX Control Toolkit won't work when I open a project from a Maped Network Drive.

    It works fine if I open the same copy from my local drive.

    Any idea?

  • Confused with lots of framework names. finally working with CTP without any issues.

  • Hi Zin,

    The current Beta1 ASP.NET AJAX build requires the assembly to be installed in the GAC to work with medium trust.

    We are looking at doing an optional download in the next week or two that will still allow you to deploy into the \bin directory if your hoster doesn't yet support installing into the GAC.

    Hope this helps,

    Scott

  • Are there any plans to make the navigation controls (menu, treeview etc) etc work with the final release?

  • The ControlToolkit was just released, but I don't see the AJAX beta 2 Download.

    Today at 2:03 PM Update Release branch of the Toolkit for ASP.NET AJAX v1.0 Beta 2.

  • The newly broken IntelliSense not recognizing UpdatePanel is getting extreemely annoying, and reducing productivity on my project. (I have to comment out the UpdatePanel syntax to make certain modifications to my pages.) This is a big regression issue. Please, when are we going to get an update to Beta 1 that will fix this?

  • Hi Scott,

    Unfortunately this is an issue because the new tagprefix for Atlas is "asp:". There is a bug with VS 2005 that causes problems because of this. It will be fixed in VS 2005 SP1.

    As a temporary work around, you could go into your web.config file and rename the prefix to be "ajax:". This will then give you full intellisense support until SP1 ships.

    Thanks,

    Scott

  • Previously I was using the AutoCompleteExtender and dynamically passing a parameter to the web service as part of a querystring using the ServicePath method.

    Extender.ServicePath = "~/WebService.asmx?name=" + sName;

    This no longer seems to work with AJAX Beta 1. Is there any way to do the same thing in Beta 1?

  • Scott I still can't get asp.net validation to work within a wizard, inside an updatepanel.

    It doesn't validate on the step with the error, it validates three of four steps afterwards?

    I am using the beta 2.
    Thanks

    Tom Medhurst

  • Hi Tom,

    Can you send me email about the validators inside the wizard? I will then loop in some folks who might be able to help.

    Thanks,

    Scott

  • The loss of instance PageMethod support is going to make it extremely difficult, if not impossible, to migrate our ATLAS development to AJAX.

  • WOW! PageMethods are required to be static! I cannot imagine a worse proclamation for our current project (except perhaps Microsoft is pulling AJAX for asp.net altogether)...this move litterally destroys our use of ATLAS/AJAX.
    Please reconsider this!

  • We are using instance-based PageMethods in several large applications. A move to force PageMethods static will have an affect on our current apps which I can only describe as devastating. Please reconsider!
    --Brian

  • Scott,

    Any word yet if you can deploy into the \bin directory instead of the GAC??

  • Hi Brian,

    Can you send me email describing your instance-based page method usage? I can then loop you in with someone on the team to help.

    Thanks,

    Scott

  • Hi Matt,

    Unfortunately it is turning out to be harder to enable the non-GAC partial trust deployment than we thought. The reason is that a lot of encryption settings can't be accessed from partial trust.

    Right now are thinking is to focus hard on getting the V1 release out the door, which will of course support partial trust when installed in the GAC. We'll then work with hosters to get it deployed ASAP.

    You can use the Beta and V1 bits in the \bin directory when running under full trust (this works today). It is just when running under partial trust that the assembly needs to be added to the GAC.

    Hope this helps,

    Scott

  • Scott,

    I did a test of the latest download of asp.net ajax on a vpc. My page was super simple - just a button and a label in an update panel.

    Without ajax enabled asp.net emits 800bytes of output. With ajax enabled, the aspx page adds a modes 3k but 117k of javascript is also downloaded. I double checked that is set in web.config.

    I'm using WinXP serving the page with Cassini and browsing with FireFox 2.0.

    I tried IE7, but I can't figure out how to get it to save all of the javascript in a separate folder like IE6 did, so I can't use it to test.

    Thanks,
    John

  • Hi John,

    ASP.NET AJAX includes a compression module that automatically compresses the JavaScript size on the wire (JavaScript compresses really well). That is where the 14k + 6k numbers I quoted above come from (that is what is transferred on the network).

    I think what you are doing above is actually measuring the uncompressed download size.

    Hope this helps,

    Scott

  • I noticed a problem with Asp.net AJAX when browser's back button or javascript history.back() are fired. Both of them (atlas or ajax) cause a Page Load server side event of previous page. If you make a simple test you can notice that when you go to the previous page, the browser's page cache is not showed. Because of this behavior I lose the last page content... It think AJAX should let browser cacheability do his job and not reload previous page again...

  • Has the AutoCompleteExtender been replaced? I can't find it in the controls.

    David

  • Hi David,

    Did you get an answer to this? I can't find them either in the RC.


    Thanks,
    Base

  • Trying to use ajax on a content page seems to run into "ScriptManager is not a known element." Happens on some of the pages, not all, this is rather strange.

    Tried resetting the toolbox addex the "ajax" controls and still no go. It is beyond strange that one content page works and on the other it seems not to understand the element.

    Any info on this? Bug? Patch?
    (win 2003, vs2005)

    thanks,
    chris

  • Hi Chris,

    There was an issue with earlier builds, but if you have VS SP1 installed, ASP.NET AJAX 1.0, and follow the steps at the bottom of this article to clear your intellisense cache you shouldn't have this issue: http://weblogs.asp.net/scottgu/archive/2007/01/23/asp-net-ajax-1-0-released.aspx

    Thanks,

    Scott

Comments have been disabled for this content.