Metodi di valutazione dei dispositivi
Aggiornamento: novembre 2007
Nei controlli mobili ASP.NET i metodi di valutazione dei dispositivi consentono di creare filtri denominati che è possibile utilizzare direttamente nel metodo HasCapability. È inoltre possibile utilizzare indirettamente i filtri nel file Web.config utilizzando l'elemento <Choice> della sezione <DeviceSpecific>.
Per specificare un filtro con nome, aggiungere una voce alla sezione <deviceFilters> del file Web.config. Nell'esempio riportato di seguito viene illustrato come definire un filtro di periferica denominato isHTML32.
<filter name="isHTML32" compare="PreferredRenderingType"
argument="html32" />
In fase di esecuzione questo filtro confronta il valore della proprietà PreferredRenderingType dell'istanza della classe MobileCapabilities della richiesta corrente con il valore html32.
Nell'esempio riportato di seguito viene illustrato come definire una nuova funzionalità denominata GPSEnabled. Per ulteriori informazioni, vedere Specifica di nomi di tipo completi.
namespace MyNamespace
{
public class MyCapabilityEvaluators
{
public static bool IsGPSEnabled(
System.Web.Mobile.MobileCapabilities capabilities,
String unusedArg)
{
// processing code
}
}
}
Aggiungere l'elemento riportato di seguito al file Web.config appropriato per aggiungere la nuova funzionalità:
<deviceFilters>
<filter name="GPSEnabled"
type="MyNamespace.MyCapabilityEvaluators, MyAssembly"
method="IsGPSEnabled" />
</deviceFilters>
Durante il rendering viene selezionata una delle opzioni incluse nell'elemento <DeviceSpecific>, in base alle funzionalità del dispositivo di destinazione. Il nome del filtro viene innanzitutto confrontato con i filtri definiti nella pagina. Se nel file Web.config o nella gerarchia di configurazione è presente un metodo con la firma appropriata, tale metodo viene utilizzato per valutare la voce <Choice> per un filtro con il nome appropriato.
Vedere anche
Concetti
Suggerimenti per l'applicazione di filtri di periferica
Rendering specifico di dispositivo
Valutazione delle funzionalità a livello di codice