2012-11-28 12 views
27

In ASP.NET MVC 3 Vista rasoio, Ho il codice:Il nome 'media' non esiste nel contesto attuale

<!DOCTYPE html> 
<html> 
<head> 
<style type="text/css"> 
    @media print 
    { 
    table { page-break-inside:auto; width: 100%; } 
    tr { page-break-inside:avoid; page-break-after:auto } 
    thead { display:table-header-group } 
    tfoot { display:table-footer-group } 
    } 
</style> 
</head> 
<body> 
<table> 

Comunque ho ottenuto l'errore:

The name 'media' does not exist in the current context. 

Grazie.

+0

Hai ricevuto quell'errore quando? –

+0

Prima del debug, sullo schermo c'è una linea d'onda rossa sotto la parola. –

risposta

67

Il @ è un carattere riservato in Razor. Ma puoi scappare usando @@:

@@media print 
10

Nelle visualizzazioni del rasoio, @ è il carattere magico che precede il codice.

Nel tuo caso, utilizzare 2 @@. Altrimenti il ​​rasoio farà credere che sia un codice/espressione.

@@media print. 

In alternativa è possibile utilizzare anche il metodo Html.Raw.

@Html.Raw("@")media print 

Si può fare lo stesso per la stampa Twitter Nome manico che ha il @ in esso.

Here è un buon collegamento MSDN sapere di più sulla sintassi rasoio e here è uno di Phil hack

Problemi correlati