Logically speaking, we will need to create a new Web service
that will handle retrieving data related to the clickable hot spots. AJAX
Services are no different from normal ASP.NET Web services. To get a better
understanding of how to create and manipulate AJAX Services, make sure you go
through the links in the References section at the end of this article.
Let us create this new Web service by following the Figure 2
Figure 2: Creating a Web service
The above Web service will contain a single web method that
will get the information from the data store you have.
To enable your ASP.NET Web service to be callable from the
client side in an asynchronous style, i.e. converting it to an AJAX Service,
you will need to add the ScriptService attribute to the class declaration as
follows:
Listing 2
[ScriptService()]
public class LocationService : System.Web.Services.WebService
{
The ScriptService attribute is the only configuration you
would need to add so that your Web service is script-accessible.
Now let us add a Web method that will be called from the
client side:
Listing 3
[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json)]
public string GetAreaInfo(string area)
{
return area;
}
There is nothing different when declaring Web methods. You
would add the WebMethod attribute as you would do with any other normal ASP.NET
Web service. If you leave your Web service like that, it will work like a
charm! However, you have an optional attribute you can add which is the
ScriptMethod attribute. You can configure whether the Web method will be
accessed using the HttpGet or HttpPost verb. Also, you can configure the format
in which the data will be returned, whether in XML or JSON, by default it is
JSON.
By default every Web method you create that is AJAX enabled, uses the HttpPost and JSON for the UseHttpGet and ResponseFormat properties
of the ScriptMethod attribute.
The method we have defined is the GetAreaInfo method that
takes as input a single parameter of type string. To make life easy, the method
will simply return the same value of the input parameter, in your case you
would need to do a database call to retrieve some data and send them back to
the calling side.
That is everything you need to do concerning the new Web
service. In a later section you will see how to configure the page that
AJAX-enabled to make calls to this Web service. We have just created a new AJAX
Service!!