Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C++

Top 10 ASP.NET AJAX Interview Questions

5.00/5 (1 vote)
28 Apr 2014CPOL4 min read 49.1K  
Here is a list of top 10 ASP.NET AJAX interview questions

Exploring key features/capabilities of ASP.NET and getting answers for ASP.NET Interview Questions in this Web Development Tutorial series, we have reached this Part-5 with a set of questions on ASP.NET and AJAX (Asynchronous JavaScript and XML).

What we have covered so far can be summarized as follows:

So, let's keep exploring further ASP.NET technology concepts through Interview Questions Series.

Define AJAX?

AJAX stands for "Asynchronous JavaScript and XML". It's basically a technique for creating Rich Internet Applications (RIA) that are faster as well as more interactive, using a combination of commonly used techniques as HTML/XHTML, CSS, Document Object Model (DOM), JavaScript, XML/XSLT and XMLHttpRequest object.

XMLHttpRequest object is the key basis of AJAX and makes it possible to communicate with the web server asynchronously and exchange data.

Please elaborate XMLHttpRequest Object further?

XMLHttpRequest is the core object in AJAX technology regardless of any implementation. XMLHttpRequest object is used to exchange data with a server seamlessly. Basically JavaScript uses this Object to exchange XML as well as text data between client and server. An AJAX implementation uses this object and communicates with server but it doesn't require the complete page to be refreshed.

How to send a request to server using XMLHttpRequest Object?

We can send a request to server using HTTP GET and POST methods as follows:

JavaScript
//Simple GET Request
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "TestFile.txt", true);
xmlHttp.send();

//Simple POST Request
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("POST", "TestFile.txt", true);
xmlHttp.send();

What is ASP.NET AJAX?

Microsoft provided an implementation of AJAX functionality known as ASP.NET AJAX. As we discussed in the above interview question that AJAX is a combination of various techniques, so Microsoft simplified the usage of these techniques with its own implementation. ASP.NET AJAX is a set of extensions to ASP.NET and comes with reusable AJAX controls. Using ASP.NET AJAX, we can develop applications that can update partial page instead of a complete page refresh.

Difference between Synchronous and Asynchronous Postback?

In Synchronous postback, complete web page is sent to server and in return rendering the output (i.e. complete page), whereas in case of Asynchronous postback, partial page goes to the server and renders only partial (required) part of the page.

What are the basic controls in ASP.NET AJAX?

Following controls can be considered as core AJAX controls in ASP.NET.

  • ScriptManager
  • ScriptManagerProxy
  • UpdatePanel
  • UpdateProgress
  • Timer

Later, more controls are added to ASP.NET AJAX library, e.g., Script Loader, Client Data Context, Client Data Access, jQuery Integration, etc.

What is a ScriptManager in ASP.NET AJAX?

In order to use AJAX functionality on a web page, we add a ScriptManager control to the page in most of the scenarios, because ScriptManager control registers AJAX library scripts to that particular web page. We can have only one ScriptManager per page.

ASP.NET
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

ScriptManager basically manages all ASP.NET AJAX resources of a web page, creates proxies for asynchronous web service call and also manages partial page updates, etc.

ScriptManager Vs ScriptManagerProxy?

As we understand that we can have only one ScriptManager control on a page but we can have multiple ScriptManagerProxy controls. Consider a scenario that we have ScriptManager in our MasterPage that is available for all content pages. Now, we wanted to register a web service in a particular page. So, we will not add another ScriptManager to that page, instead we will add ScriptManagerProxy to it in order to avoid error.

What is the role of UpdatePanel in ASP.NET AJAX?

UpdatePanel is the control that facilitates the partial page rendering functionality in an ASP.NET application. As discussed earlier, using ASP.NET AJAX, we can communicate with a web server asynchronously and update a part of a page without a complete page postback. In order to apply partial page update/rendering, we can add one or more UpdatePanel controls to our ASP.NET Page as follows:

ASP.NET
   <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Label ID="lblPanel" runat="server" 
                Text="Update Panel Added."></asp:Label><br />
                <asp:Button ID="btnTestButton" 
                                   runat="server" 
                                  OnClick="btnTestButton_Click" 
                                  Text="Test Button" />
      </ContentTemplate>
    </asp:UpdatePanel>   <asp:ScriptManager ID="ScriptManager1" 
    runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Label ID="lblPanel" runat="server" 
                Text="Update Panel Added."></asp:Label><br />
                <asp:Button ID="btnTestButton" 
                                   runat="server" 
                                  OnClick="btnTestButton_Click" 
                                  Text="Test Button" />
      </ContentTemplate>
    </asp:UpdatePanel>

What are the limitations of AJAX?

  • AJAX on an application will not work if JavaScript is disabled.
  • In some scenarios, it exposes vulnerability.
  • It will always be difficult to bookmark application state.
  • Application behavior may be slow in some scenarios, because of different loading time of controls on a single page.

Hopefully, this ASP.NET Tutorial will clear more concepts about AJAX technology usage in ASP.NET.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)