Funzionalità estese del browser
Aggiornamento: novembre 2007
La classe MobileCapabilities si basa sulle funzionalità standard di ASP.NET per i browser. Quando un client si connette a un'applicazione Web ASP.NET per dispositivi mobili, ASP.NET individua il dispositivo richiedente in base alle informazioni incluse nella richiesta e quindi collega un oggetto MobileCapabilities alla richiesta. L'applicazione può accedere a questo oggetto tramite la proprietà Browser dell'oggetto HttpRequest, che è mappata alla proprietà Request dell'oggetto Page.
Il codice dell'applicazione può accedere in due modi alle singole funzionalità di un oggetto MobileCapabilities. Innanzitutto, è possibile accedere a qualsiasi proprietà delle funzionalità di alto livello. Ciascuna di queste proprietà di sola lettura restituisce il valore indipendente dai tipi della funzionalità corrispondente o un'impostazione predefinita appropriata. Nell'esempio riportato di seguito viene mostrato l'utilizzo di una proprietà di alto livello.
if (((MobileCapabilities)Request.Browser).ScreenCharactersWidth > 20)
{
// Coding for big screen capabilities is placed here.
}
else
{
// Coding for small screen capabilities is placed here.
}
In secondo luogo, il codice dell'applicazione può accedere alle funzionalità sotto forma di dizionario, utilizzando l'indicizzatore predefinito. I valori del dizionario sono uguali a quelli contenuti nella sezione <browserCaps> del file Machine.config o Web.config. Il valore restituito è sempre un riferimento con valore string o null se il valore non è impostato. Se necessario, l'applicazione deve analizzare questa stringa. Nell'esempio riportato di seguito viene illustrata la stessa funzionalità dell'esempio precedente, utilizzando però una proprietà di dizionario.
String screenWidthText = Request.Browser["screenCharactersWidth"];
int screenWidth = 40;
if (screenWidthText != null)
screenWidth = Int32.Parse(screenWidthText);
if (screenWidth > 20)
{
// This block contains code supporting a larger screen size.
}
else
{
// This block contains code supporting a smaller screen size.
}
Nota: |
---|
Le proprietà MobileCapabilities che vengono derivate dalle voci del dizionario anziché essere definite direttamente nel file Web.config possono causare problemi di mancata corrispondenza in alcuni dispositivi. |