Condividi tramite


Funzionalità estese del browser

La classe MobileCapabilities si basa sulle funzionalità standard di ASP. NET per i browser. Quando un client si connette a un'applicazione Web mobile ASP. NET, il framework della pagina ASP. NET individua il dispositivo richiedente in base alle informazioni incluse nella richiesta, alla quale viene connesso un oggetto MobileCapabilities. L'applicazione può accedere a questo oggetto mediante la proprietà Browser dell'oggetto HttpRequest, a sua volta associata alla proprietà Request dell'oggetto Page. Il codice dell'applicazione consente di accedere in due modi alle funzionalità individuali 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 type-safe della funzionalità corrispondente, mediante un'impostazione predefinita appropriata. Nell'esempio riportato di seguito viene mostrato l'utilizzo di una proprietà di alto livello.

[C#]

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 gli stessi immessi nella sezione <browserCaps> di Machine.config. Il valore restituito è sempre una stringa o un riferimento null (Nothing in Visual Basic) se il valore non è stato impostato. È compito dell'applicazione analizzare questa stringa, se necessario. Nell'esempio riportato di seguito viene mostrata la stessa funzionalità dell'esempio precedente, utilizzando però una proprietà di dizionario.

[C#]

String screenWidthText=Request.Browser["screenCharactersWidth"];
int screenWidth=(screenWidthText == null) ? 40 : 
    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 derivate dalle voci del dizionario, invece di essere definite direttamente nel file Web.config, possono causare problemi di mancata corrispondenza in alcuni dispositivi. Si tratta di:

MobileCapabilities.ScreenCharactersWidth != MobileCapabilities["screenCharactersWidth"]

Vedere anche

Classe MobileCapabilities