The Request.Browser object properties are probably where it is at, these are all options that may be useful to you:
Request.Browser.IsMobileDevice
Request.Browser.MobileDeviceManufacturer
Request.Browser.MobileDeviceModel
Request.Browser.ScreenPixelsWidth
Request.Browser.SupportsXmlHttp
Was there a reason you wanted to avoid a 3rd party component?
We currently use a WURFL device database via 51Degrees.mobi - which works really well.