WebReference.com logo
tip archive  •   about  •   sitemap  •   contact  •   jobs  •   write for us  •   subscribe


[next]

Overview of Popular JavaScript Frameworks - ASP.NET AJAX

By

Social Bookmark

Subject Matter Expert - Managed Services (TX)
Next Step Systems
US-TX-Dallas

Justtechjobs.com Post A Job | Post A Resume


This is the fifth and final istallment in the JavaScript frameworks overview series. For the past several weeks, we've been reviewing the top dozen frameworks in use in order to simplify the decision of choosing a framework. The problem isn't a lack of good choices, but rather an abundance of them! In the previous four installments, we covered:

This week's article is dedicated entirely to Microsoft's ASP.NET AJAX Framework, because there's so much to cover.

ASP.NET AJAX Links


Microsoft's ASP.NET AJAX was created to assist developers in the rapid creation of efficient and interactive Web applications, much like SproutCore. In many ways, ASP.NET AJAX represents a logical evolution of the old Visual Basic Rapid Application Development (RAD) model. The AJAX Framework is built into ASP.NET 3.5 and is also available as a separate download for ASP.NET 2.0. Since there are many ASP.NET users, Microsoft did well to leverage this popular Web language into the client-side domain. Some of the main advantages of using ASP.NET AJAX to develop your Web applications include:

Throw in extensive documentation, technical support, and ease of use that you'd come to expect from Microsoft, and you've got a winning combination!

Server Controls

The ASP.NET AJAX Framework comes with four controls out of the box: ScriptManager, UpdatePanel, UpdateProgress and Timer.

The ScriptManager Control

This is a non-visual control for managing client scripts in Microsoft ASP.NET AJAX pages. Including the ScriptManager control automatically adds the Type Extensions required by client scripts in order to use the library. They also play a role in features such as partial-page rendering and Web service calls. Later on in this article, we'll look at how the ASP.NET AJAX Library's client-side script extensions provide additional functionality to JavaScript and make the language more consistent with ASP.NET coding standards. The following example registers a client script and a Web service using the ScriptManager:

Notice that scripts registered with the ScriptManager control must reside between <FORM> tags.

The UpdatePanel Control

The ScriptManager can be included with the UpdatePanel control to perform partial-page updates without the need for JavaScript Ajax calls. The regions to dynamically update can be set using special tags or programmatically in JavaScript. Whether or not a page participates in partial-page updates is determined by the EnablePartialRendering property of the ScriptManager control. By default, the EnablePartialRendering property is set to true, so simply adding the control to a page is enough to enable partial-page rendering. You have the option of using a specific trigger to perform a refresh - like a button - or having the UpdatePanel control’s content updated on every callback that originates from within the page. To use a trigger, you have to set the UpdatePanel's UpdateMode attribute to "Conditional." A related attribute, called ChildrenAsTriggers, specifies whether or not to trigger callbacks from immediate child controls of the UpdatePanel and refresh the panel's content.

The <ContentTemplate> tag defines the visual content that will appear inside the UpdatePanel control when rendered. In the following example, the Button control will act as an asynchronous callback trigger. The ChildrenAsTriggers attribute isn't included since it's true by default:

The trigger control doesn't have to reside inside the UpdatePanel to cause a refresh to the panel's content. You can choose any control on the page using the <asp:asynccallbacktrigger> tag inside the <triggers> element. In fact, the <trigger> tag can contain a number of controls to act as triggers. The <asp:asynccallbacktrigger> tag's ControlID parameter defines the ID of a trigger control. Here's the same example as above except that this time, the button is outside of the UpdatePanel:

You can also set the trigger programmatically via the ContentTemplateContainer property, which represents the <ContentTemplate> tag. The following Visual Basic server script demonstrates its usage:

The UpdateProgress Control

As the name suggests, the UpdateProgress control provides status information about partial-page updates in the UpdatePanel control. The layout of the UpdateProgress control is completely customizable and can be displayed after a delay to prevent flashing with fast partial-page updates. The UpdateProgress control renders a <DIV> element made visible when an associated UpdatePanel control makes an asynchronous server call. It doesn't display when the page initially loads or for synchronous callbacks.

You can associate an UpdateProgress control with a specific UpdatePanel control by setting the AssociatedUpdatePanelID property of the UpdateProgress control. It's also possible to have the UpdateProgress control display progress for any asynchronous callback on the page. The <progresstemplate> element contains the message displayed by an UpdateProgress control, which can be a simple string, HTML or other markup. The following example shows how to specify a string message for a specific UpdateProgress control:

By including the ScriptManager control, you can use JavaScript to work with UpdateProgress control events and attributes. In the following example, the UpdateProgress control's message is set in the InitializeRequest event when the ButtonTrigger fires the callback:

The Timer Control

The Timer control performs server calls at defined intervals. You can use the Timer control along with an UpdatePanel to trigger periodic partial-page updates or to refresh or post the whole page.

The ASP.NET AJAX Control Toolkit

The ASP.NET AJAX Control Toolkit is a project for creating ASP.NET AJAX controls. Built on top of the Microsoft ASP.NET AJAX Framework, the Control Toolkit gives you a great selection of controls and also gives you the ability to build your own controls from scratch. The ASP.NET controls are a big business and many companies specialize in them. As the following example shows, adding a custom control to your page is simple. It registers a custom control built with the Control Toolkit. The first line registers the toolkit and provides a TagPrefix for the control. The next line includes the ScriptManager. Our control can then be used in the page by including our TagPrefix, along with the control name:


[next]

Recent Articles

WebReference.com site name
Use Web Caching to Make Your Web Site Faster
Creating an Online Shopping Cart Mechanism in PHP
Log JavaScript Errors Using an AJAX-driven Web Service
internet.com site name
Configuring Granular Settings for a Database Level Audit
The Perils of a Web 2.0 Transition on Your Business Processes
Facebook Redesigns Site —Again — Nears 400M Mark



The Network for Technology Professionals

Search:

About Internet.com

Legal Notices, Licensing, Permissions, Privacy Policy.
Advertise | Newsletters | E-mail Offers