ASP.NET Device Filtering Overview
You can use device filtering to customize certain rendering aspects of Web server controls depending on the browser or device that accesses them. When a user requests a Web page from a server, the user's browser makes a request that contains information — such as the user-agent and other headers — that identifies the browser's type and version. ASP.NET can then match the identifier to a particular device that is defined in a browser file. And then output can be filtered by device by using the identifier in Web server controls.
Device Filtering
The following declarative code example demonstrates use of a device filter to shorten the text property of a Label control for a Pocket PC running Pocket Internet Explorer. This is a common use of a device filter, where more succinct text is provided for a device with limited screen size. The prefix "PIE" in front of the second Text attribute specifies that the control should render that version of the text if the requesting browser's identifier is "PIE".
<asp:Label runat="server" id="title"
Text="Welcome to Our Online Shopping Catalog"
PIE:Text="Welcome, Shopper" />
Control Filters
You can filter output on controls for different devices by applying filters to the following:
Control properties
Custom attributes
Templates
Device Filters for Directives
You can also apply device filters to @ Page directive attributes to better suit device capabilities. For instance, you can disable view state for certain devices, or use different themes based on the device that is accessing the page. Some of the @ Page directives you can filter are:
Buffer
ClientTarget
CodePage
ContentType
Culture
EnableViewState
EnableViewStateMac
ErrorPage
LCID
MasterPageFile
ResponseEncoding
Theme
UICulture
If you are working with user controls, you can apply device filters to @ Control directive attributes as well. In general, the @ Control directive offers fewer attributes for which device filtering makes sense, but you could apply it to an attribute such as EnableViewState.
Finally, you can apply device-filters attributes, which are used to specify properties of a master page, in the @ Master directive.
Note
You cannot specify a device filter in the Web.config file.