Professional in C# and Visual Basic Part 128. Building on the revolutionary release, adds several key new developer features including AJAX, LINQ, and a new CSS designer in Visual Web Developer 2008. The dramatic reduction in code that developers realized from the more than 50 new server controls in now allows developers the time to make their applications more interactive with AJAX, to work with data in their preferred language with LINQ, and to build visually attractive and consistent standards-based sites with CSS. . | Chapter 26 User and Server Controls Listing 26-25 The client-side callback JavaScript functions JScript File var args var ctx function ValidateText ctl if alert Please enter a value. function CallbackHandler args ctx alert The data is valid function ErrorHandler args ctx alert Please enter a number Now when you view your Web page in the browser as soon as the text box loses focus you perform a client-side callback to validate the data. The callback raises the RaiseCallbackEvent method on the server which validates the value of the text box that was passed to it in the eventArguments. If the value is valid you return a string and the client-side CallbackHandler function fires. If the value is invalid you throw an exception which causes the client-side ErrorHandler function to execute. Detecting and Reacting to Browser Capabilities So far in the chapter we have described many powerful features such as styling and emitting client-side scripts that you can utilize when writing your own custom control. But if you are taking advantage of these features you must also consider how you can handle certain browsers often called downlevel browsers that might not understand these advanced features or might not have them enabled. Being able to detect and react to downlevel browsers is an important consideration when creating your control. includes some powerful tools you can use to detect the type and version of the browser making the page request as well as what capabilities the browser supports. .browser files introduced a new and highly flexible method for configuring storing and discovering browser capabilities. All browser identification and capability information is now stored in .browser files. stores these files in the C Windows Framework . xxxx C0NFiG Browsers directory. If you open this folder you see that provides you with a variety of .browser files that describe the capabilities of most of .