Fortunately there are a couple of ASP components you can use to recognize the browser and its capabilities from your ASP pages - Microsoft's browser capabilitity component and cyScape's BrowserHawk component.
Although the MS browser capability component is free, it is limited in its accuracy and detection abilities, and requires constant maintenance and up-keep of its browser definition files. As discussed in a recent article by Ryan S., BrowserHawk is certainly the preferred component for browser compatibility. You can read about its advantages over the MS component here. See the BrowserHawk live demo for details on what it is possible to detect.