What is
Ajax?
The term Ajax was coined by Jesse James Garrett and is
a short form for "Asynchronous Javascript and XML". Ajax represents a set of commonly used
techniques, like HTML/XHTML, CSS, Document Object Model(DOM), XML/XSLT,
Javascript and the XMLHttpRequest object, to create RIA's (Rich Internet
Applications).
Ajax
gives the user, the ability to dynamically and asynchronously interact with a
web server, without using a plug-in or without compromising on the user’s
ability to interact with the page. This is possible due to an object found in
browsers called the XMLHttpRequest object.
What is
ASP.NET AJAX?
‘ASP.NET AJAX’ is a
terminology coined by Microsoft for ‘their’ implementation of AJAX, which is a set of extensions to
ASP.NET. These components allow you to build rich AJAX enabled web applications, which consists
of both server side and client side libraries.
Which
is the current version of ASP.NET AJAX
Control Toolkit?
As of this writing, the
toolkit version is Version 1.0.20229 (if you are targeting Framework 2.0,
ASP.NET AJAX 1.0 and Visual Studio 2005) and Version 3.0.20229 (if targeting
.NET Framework 3.5 and Visual Studio 2008).
What
role does the ScriptManager play?
The ScriptManager manages
all ASP.NET AJAX resources on a page and renders the links for the ASP.NET AJAX
client libraries, which lets you use AJAX
functionality like PageMethods, UpdatePanels etc. It creates the
PageRequestManager and Application objects, which are prominent in raising
events during the client life cycle of an ASP.NET AJAX Web page. It also helps
you create proxies to call web services asynchronously.
Can we
use multiple ScriptManager on a page?
No. You can use only one
ScriptManager on a page.
What is
the role of a ScriptManagerProxy?
A page can contain only one
ScriptManager control. If you have a Master-Content page scenario in your
application and the MasterPage contains a ScriptManager control, then you can
use the ScriptManagerProxy control to add scripts to content pages.
Also, if you come across a
scenario where only a few pages in your application need to register to a
script or a web service, then its best to remove them from the ScriptManager
control and add them to individual pages, by using the ScriptManagerProxy
control. That is because if you added the scripts using the ScriptManager on
the Master Page, then these items will be downloaded on each page that derives
from the MasterPage, even if they are not needed, which would lead to a waste
of resources.
What
are the requirements to run ASP.NET AJAX
applications on a server?
You would need to install
‘ASP.NET AJAX Extensions’ on your server. If you are using the ASP.NET AJAX
Control toolkit, then you would also need to add the AjaxControlToolkit.dll in
the /Bin folder.
Note: ASP.NET AJAX
1.0 was available as a separate downloadable add-on for ASP.NET 2.0. With
ASP.NET 3.5, the AJAX
components have been integrated into ASP.NET.
Explain
the UpdatePanel?
The UpdatePanel enables you
to add AJAX
functionality to existing ASP.NET applications. It can be used to update
content in a page by using Partial-page rendering. By using Partial-page
rendering, you can refresh only a selected part of the page instead of
refreshing the whole page with a postback.
Can I
use ASP.NET AJAX
with any other technology apart from ASP.NET?
To answer this question,
check out this example of using
ASP.NET AJAX with PHP, to
demonstrate running ASP.NET AJAX outside of ASP.NET. Client-Side ASP.NET AJAX
framework can be used with PHP and Coldfusion.
can
you cancel an Asynchronous postback?
Yes you can.
Difference
between Server-Side AJAX framework and
Client-side AJAX
framework?
ASP.NET AJAX contains both a
server-side Ajax framework and a client-side Ajax framework. The
server-side framework provides developers with an easy way to implement Ajax functionality,
without having to possess much knowledge of JavaScript. The framework includes
server controls and components and the drag and drop functionality. This
framework is usually preferred when you need to quickly ajaxify an asp.net
application. The disadvantage is that you still need a round trip to the server
to perform a client-side action.
The Client-Side Framework
allows you to build web applications with rich user-interactivity as that of a
desktop application. It contains a set of JavaScript libraries, which is
independent from ASP.NET. The library is getting rich in functionality with
every new build released.
How
can you debug ASP.NET AJAX
applications?
Explain about two tools
useful for debugging: Fiddler for IE and Firebug for Mozilla.
Can we
call Server-Side code (C# or VB.NET code) from javascript?
Yes. You can do so using PageMethods
in ASP.NET AJAX or using
webservices.
Can you
nest UpdatePanel within each other?
Yes, you can do that. You
would want to nest update panels to basically have more control over the Page
Refresh.
How can
you to add JavaScript to a page when performing an asynchronous postback?
Use the ScriptManager class.
This class contains several methods like the RegisterStartupScript(),
RegisterClientScriptBlock(), RegisterClientScriptInclude(),
RegisterArrayDeclaration(),RegisterClientScriptResource(),
RegisterExpandoAttribute(), RegisterOnSubmitStatement() which helps to add
javascript while performing an asynchronous postback.
Explain
differences between the page execution lifecycle of an ASP.NET page and an
ASP.NET AJAX
page?
In an asynchronous model,
all the server side events occur, as they do in a synchronous model. The
Microsoft AJAX Library also raises client side events. However when the page is
rendered, asynchronous postback renders only the contents of the update panel,
where as in a synchronous postback, the entire page is recreated and sent back
to the browser.
Explain
the AJAX Client
life-cycle events
Here’s a good article about the same.
Is the
ASP.NET AJAX
Control Toolkit(AjaxControlToolkit.dll) installed in the Global Assembly Cache?
No. You must copy the
AjaxControlToolkit.dll assembly to the /Bin folder in your application.
Those were some frequently
asked questions you should have knowledge about. In one of the coming
articles, we will cover some more ASP.NET AJAX FAQ’s which were not covered in
this article. I hope this article was useful and I thank you for viewing it.