Condividi tramite


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.

Vedere anche

Riferimenti

MobileCapabilities

Altre risorse

Funzionalità dei dispositivi mobili