Le Device Filtering est une fonctionnalité très peu connue dans le monde ASP.NET.

A l'origine, cette fonctionnalité a été mise en place pour filtrer en fonction du "Device", par exemple PIE pour Pocket Internet Explorer (présent sur Pocket PC) mais elle peut être utilisée dans bien d'autre contexte car elle repose sur les identifiants du fichier .browser qui se situe dans "<SysDrive>\Windows\Framework\v2.0.50727\CONFIG\Browsers".

L'idée est donc de prefixer une propriété par un identifiant du fichier browser de la façon suivante :

1
2
3
4
5
<asp:Label ID="lbl" 
runat="server"
Text="Hello"
ie:Text="Hello IE"
mozilla:Text="Hello Mozilla" />

Cette fonctionnalité, disponible uniquement en déclaratif, vous permettra donc d'adapter votre controle au device ou navigateur précisé.

Cela peut être utile dans bien des cas comme la gestion des styles par exemple :

1
2
3
4
5
<asp:Label ID="lbl" 
runat="server"
Text="Hello"
ie:CssClass="IEOpacity"
mozilla:CssClass="MozillaOpacity" />

Cet exemple évitera d'avoir des "hacks" CSS dans vos feuilles de styles et donc d'adapter le comportement au navigateur précisé.

Mais cela va bien plus loin, prenons l'exemple d'un Menu :

1
2
3
4
5
6
7
8
9
10
<asp:Menu runat="server" ID="menu">
<StaticMenuStyle CssClass="StaticMenu" />
<ie:StaticMenuStyle CssClass="IEStaticMenu" />
<ie:items>
<asp:MenuItem Text="IE Item" />
</ie:items>
<Items>
<asp:MenuItem Text="Other Item" />
</Items>
</asp:Menu>

Le "Device Filtering" peut donc s'appliquer à un grand nombre d'éléments de la plateforme ASP.NET, très utile pour gérer les périphériques de type "mobile" (PIE par exemple), il peut aussi s'averer être utile dans vos développements quotidiens.

Aurelien
Member of WygTeam