List of Listings

Chapter 1. Introducing ASP.NET AJAX

Listing 1.1. Instantiating the XMLHttpRequest object

Listing 1.2. Welcome.htm

Listing 1.3. Sending an asynchronous request

Listing 1.4. The callback function gets called every time the ready state changes for the asynchronous request.

Listing 1.5. Using the XMLHttpRequest control to asynchronously retrieve data

Listing 1.6. XML-Script: a declarative alternative for developing Ajax-enabled pages

Listing 1.7. A simple class that returns the number of employees in a department

Listing 1.8. Default page created by the ASP.NET AJAX-Enabled Web Site template

Listing 1.9. Setting AutoPostBack to true causes a postback and invokes the server-side code.

Listing 1.10. Retrieve the employee count and update the UI when a new department has been selected.

Listing 1.11. UpdatePanel control, designating page regions that can be updated dynamically

Listing 1.12. Adding a Sleep command to test the UpdateProgress control.

Listing 1.13. Adding attributes to the class and methods

Listing 1.14. Adding a service reference, which will generate the JavaScript proxies

Listing 1.15. Markup portion of the client-centric solution

Listing 1.16. The script portion of the employee lookup application

Chapter 2. First steps with the Microsoft Ajax Library

Listing 2.1. Code for testing the client-page lifecycle

Listing 2.2. Handling the init event of Sys.Application

Listing 2.3. A text box that accepts only letters

Listing 2.4. Using a client delegate to handle a DOM event

Listing 2.5. Using a callback to handle a DOM event

Listing 2.6. Example using the Sys.StringBuilder class

Listing 2.7. Some of the new methods added to the Array object

Listing 2.8. Using the Sys.Browser object to perform browser detection

Listing 2.9. A custom error type created with the Error.create method

Chapter 3. JavaScript for Ajax developers

Listing 3.1. Creating a closure by returning an inner function

Listing 3.2. The constructor for a Cat object

Listing 3.3. Expanding the prototype object to define an object’s initial structure

Listing 3.4. A Pet class defined with the Microsoft Ajax Library

Listing 3.5. The Pet class with two properties

Listing 3.6. Declaring a class in a namespace

Listing 3.7. An example of prototype-based inheritance in JavaScript

Listing 3.8. Deriving from a base class with the Microsoft Ajax Library

Listing 3.9. How to pass arguments to the constructor of the base class

Listing 3.10. Calling the implementation of a method defined in the base class

Listing 3.11. Declaring the IComparable interface

Listing 3.12. Implementing the IComparable interface

Listing 3.13. A Size enumeration

Listing 3.14. A FileAccess enumeration that uses flags

Listing 3.15. Code for the namespace browser

Listing 3.16. A Collection class that wraps an array

Chapter 4. Exploring the Ajax server extensions

Listing 4.1. An example of how a script is deployed with the ScriptManager

Listing 4.2. A ScriptReference, which registers files for deployment to a web page

Listing 4.3. A ServiceReference, which provides a gateway to the service from JavaScript

Listing 4.4. Using the ScriptManagerProxy control in a master-page scenario

Listing 4.5. Selecting an item from the music genre list generates a postback to the server.

Listing 4.6. Selecting an item in the list updates the Repeater’s data source.

Listing 4.7. Dynamically updating regions during asynchronous postbacks

Listing 4.8. During an asynchronous postback, the page goes through the normal page lifecycle.

Listing 4.9. Displaying the UpdateProgress control when the UpdatePanel’s contents are being updated

Listing 4.10. The Timer runs in the client and invokes a postback at each interval.

Listing 4.11. The Tick event, which calls the private UpdateGenre method

Listing 4.12. Registering the Timer control’s Tick event to ensure asynchronous postbacks

Listing 4.13. Throwing an exception to see how the page handles it

Listing 4.14. Raising the AsyncPostBackError event before the dialog is displayed to the user

Listing 4.15. The AllowCustomErrorsRedirect property overrides the web.config settings.

Chapter 5. Making asynchronous network calls

Listing 5.1. Configuring a web service for client-script interaction with a few attributes

Listing 5.2. Adding a service reference to the ScriptManager control

Listing 5.3. Text box and button to provide an interface for passing parameters to the service

Listing 5.4. Calling a web method from JavaScript

Listing 5.5. Implementation of a custom Beverage class

Listing 5.6. Implementation for the GetDeals method

Listing 5.7. Calling and handling from JavaScript a web method that returns a complex type

Listing 5.8. The Employee class: another complex type defined on the server

Listing 5.9. Adding support for the Employee class on the client using GenerateScriptType

Listing 5.10. Enabling HTTP GET by updating the ScriptMethod attribute and UseHttpGet property

Listing 5.11. Instantiate the Employee class on the client, and pass it to a PageMethod.

Listing 5.12. A simple HTTP request for the contents of another file on the server

Listing 5.13. Modified version of the onRequestComplete function to handle HTTP errors

Listing 5.14. A reusable error-checking routine that extends the WebRequestExecutor object

Listing 5.15. GeocodeService that acts as the proxy to the Yahoo! Geocode APIs

Listing 5.16. Location class for defining coordinates on a Virtual Earth map

Listing 5.17. Implementation details for communicating with the Yahoo! APIs

Listing 5.18. Client code for the geographical mashup

Listing 5.19. The bridge file provides a roadmap or gateway to the remote service.

Listing 5.20. XPathBridgeTransformer, which lets you query the response to an object

Listing 5.21. Contents of the Flickr bridge application

Listing 5.22. Using the authentication service from JavaScript to validate a user’s credentials

Listing 5.23. Structure of the login method in the authentication service

Listing 5.24. Adding properties to the users profile

Listing 5.25. Load method of the profile service, which retrieves a user’s settings

Listing 5.26. Save function, which updates a user’s profile information

Chapter 6. Partial-page rendering with UpdatePanels

Listing 6.1. Markup for the home page before adding the UpdatePanel

Listing 6.2. Adding the ScriptManager and UpdatePanel to replace the page refresh with a partial-page update

Listing 6.3. Declaratively adding controls to the UpdatePanel

Listing 6.4. Adding a control to the UpdatePanel programmatically

Listing 6.5. Setting the UpdateMode property to Conditional

Listing 6.6. Rendering the UpdatePanel’s contents as a <div> or <span> tag

Listing 6.7. Programmatically registering a trigger with an UpdatePanel

Listing 6.8. Controls outside the UpdatePanel’s declaration invoking asynchronous postbacks

Listing 6.9. Declaring a child control as a postback trigger

Listing 6.10. Registering a child control as a control that raises a normal postback

Listing 6.11. Setting ChildrenAsTriggers to false so as not to initialize triggers

Listing 6.12. Manually updating a page by calling its Update method

Listing 6.13. Repeating an UpdatePanel

Listing 6.14. Updating the stock price

Listing 6.15. Nesting UpdatePanel controls

Listing 6.16. The application contains a GridView and SqlDataSource configured to AdventureWorks.

Listing 6.17. Applying a filter expression to the data source and updating the results

Listing 6.18. Wrapping the GridView and SqlDataSource within an UpdatePanel

Listing 6.19. Removing the Filter button and adding the event handler for the TextChanged event

Listing 6.20. Hooking into the keydown event to launch a postback on the server

Chapter 7. Under the hood of the UpdatePanel

Listing 7.1. Using the IsInAsyncPostBack property to identify asynchronous postbacks

Listing 7.2. Configuring the page for partial updates with _initialize and _updateControls

Listing 7.3. The general layout for the client-side event viewer

Listing 7.4. Sys.Application.add_initSys.Application.add_loadRaising the init and load events with the Application object

Listing 7.5. Querying the event arguments to determine whether the postback is asynchronous

Listing 7.6. Adding event handlers for events raised by the PageRequestManager

Listing 7.7. Adding an UpdatePanel control and child controls to invoke asynchronous postbacks

Listing 7.8. Clicking the Abort button aborts the postback.

Listing 7.9. Adding a new button to assign precedence to a postback

Listing 7.10. Aborting and canceling requests during partial updates

Listing 7.11. Show and hide a visual prompt to the user during asychronous operations.

Listing 7.12. Determine which panels are being rendered as a result of a partial postback.

Listing 7.13. Throw an unfortunate, but polite, error.

Listing 7.14. Handling an error from the client

Listing 7.15. Removing the parent node to speed up the rending process

Listing 7.16. Registering script with the ScriptManager ensures that it’s UpdatePanel-compatible.

Listing 7.17. Exchange existing validators with the new set while preserving the tag.

Chapter 8. ASP.NET AJAX client components

Listing 8.1. Code for the trivial component

Listing 8.2. Code for testing the trivial component

Listing 8.3. Property-change notification applied to a property of a client class

Listing 8.4. Subscribing to the propertyChanged event

Listing 8.5. The simplest behavior is an empty behavior.

Listing 8.6. Code for the FormattingBehavior class

Listing 8.7. Simulating the in-place edit functionality with the FormattingBehavior

Listing 8.8. The simplest control is an empty control.

Listing 8.9. keypress eventCode for the Samples.TextBox control

Listing 8.10. Code for testing the Samples.TextBox control

Listing 8.11. HTML code for the UI of the PhotoGallery control

Listing 8.12. Code for the PhotoGallery class’s constructor

Listing 8.13. Prototype of the PhotoGallery control

Listing 8.14. Creating an instance of the PhotoGallery control

Chapter 9. Building Ajax-enabled controls

Listing 9.1. Example $create statement used to create an instance of the PhotoGallery control

Listing 9.2. A script descriptor for configuring an instance of the PhotoGallery control

Listing 9.3. Code for the FormattingExtender class

Listing 9.4. How to extend an ASP.NET web control declaratively

Listing 9.5. Extending an ASP.NET web control programmatically

Listing 9.6. Overriding the OnPreRender method to register the script control

Listing 9.7. Overriding the Render method to register the script descriptors

Listing 9.8. Code for the AjaxLogin client class

Listing 9.9. Code for the AjaxLogin server class

Chapter 10. Developing with the Ajax Control Toolkit

Listing 10.1. Code for the ASP.NET TextBox with an associated AutoCompleteExtender control

Listing 10.2. Code for the CountryService web service

Listing 10.3. XML file containing the list of countries

Listing 10.4. Code for the GetCountriesFromXml method

Listing 10.5. Using the BehaviorID property with the slider extender

Listing 10.6. Constructor of the TextChangedBehavior class

Listing 10.7. Implementing a simple timer in JavaScript

Listing 10.8. Firing a DOM event programmatically

Listing 10.9. Complete code for the TextChangedExtender class

Listing 10.10. Example usage of the TextChangedExtender

Listing 10.11. Skeleton of the animation extender

Listing 10.12. Animating a div element with the AnimationExtender control

Listing 10.13. The yellow spotlight pattern applied to an UpdatePanel

Listing 10.14. Code for the _playTransition method

Chapter 11. XML Script

Listing 11.1. Enabling XML Script in an ASP.NET page

Listing 11.2. Code for the “Hello XML Script!” example

Listing 11.3. Using the Label and Button controls in XML Script

Listing 11.4. Type descriptor exposed by the Sys.Preview.UI.Button class

Listing 11.5. Using the SetProperty action to handle an event

Listing 11.6. Code for the DateTimeService class

Listing 11.7. Making a declarative Web Service call

Listing 11.8. Code for the AlertAction class

Listing 11.9. Using the Alert action in XML Script

Listing 11.10. Code for the ConfirmPostBack action

Listing 11.11. Using the ConfirmPostBack action in XML Script

Listing 11.12. Binding between a text box and a label

Listing 11.13. A stand-alone binding

Listing 11.14. A counter built with XML Script

Listing 11.15. A custom transformer that simulates a simple scroll effect

Chapter 12. Dragging and dropping

Listing 12.1. Enabling drag and drop in an ASP.NET page

Listing 12.2. Code for the BookItem control, which represents a draggable item

Listing 12.3. IDragSource interface implementation

Listing 12.4. Code for the CartZone class, which represents a drop zone

Listing 12.5. IDropTarget interface implementation

Listing 12.6. ASP.NET page for testing the drag-and-drop example

Listing 12.7. The XML file used as the data store

Listing 12.8. Code for the ShoppingCart.ascx file

Listing 12.9. Storing shopping-cart articles in a Session variable

Listing 12.10. IShoppingCart interface implementation

Listing 12.11. ShoppingCart: IScriptControl interface implementation

Listing 12.12. Markup code for the BooksCatalog user control

Listing 12.13. Handling the ItemCommand event

Listing 12.14. BooksCatalog: IScriptControl interface implementation

Listing 12.15. Code for the Default.aspx page, which hosts the Ajax-enabled controls

Chapter 13. Implementing common Ajax patterns

Listing 13.1. Using anonymous functions to declare methods of an object

Listing 13.2. A debug version of the Person class

Listing 13.3. Adding XML comments to a JavaScript client class

Listing 13.4. Validating the parameters passed to a JavaScript function

Listing 13.5. A StringCollection object in JavaScript

Listing 13.6. Validating references in the initialization code

Listing 13.7. A simple property declared in a client class

Listing 13.8. Code for automating the creation of a simple property

Listing 13.9. Creating client properties with the createProperty method

Listing 13.10. Automating the creation of a client event

Listing 13.11. A simple RSS aggregator that uses the UpdatePanel to update the page

Listing 13.12. Code-behind solution for a simple RSS reader application

Listing 13.13. Using the AddHistoryPoint method

Listing 13.14. Retrieving the state of the page and restoring it to completes the logical navigation

Listing 13.15. Managing the History control and the Navigate event from JavaScript

Listing 13.16. Retrieving and formatting the state string to get a unique link to a page

Listing 13.17. Code for the ProductsService Web Service

Listing 13.18. Code for the Product class

Listing 13.19. Templates for the ListView control

Listing 13.20. XML Script code for the declarative data-binding example

Listing 13.21. Imperative code used in the declarative data-binding example

Listing 13.22. Static HTML for the declarative widgets example

Listing 13.23. Declarative XML Script code for the widgets example

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.136.236.17