Le nom "média" n'existe pas dans le contexte actuel

Dans un ASP.NET MVC 3 razor view, j'ai le code:

<!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>

Cependant, j'ai eu l'erreur:

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

Merci.

28
demandé sur McGarnagle 2012-11-28 22:57:53

2 réponses

Le @ est un caractère réservé au Rasoir. Mais vous pouvez y échapper en utilisant @@:

@@media print
78
répondu McGarnagle 2015-04-02 20:56:41

Dans razor views, @ est le caractère magique qui précède le code.

, Dans votre cas, utilisez 2 @@. Sinon razor sera chose que c'est un code/ expression.

@@media print.

Vous pouvez également utiliser la méthode Html.Raw.

@Html.Raw("@")media print

Vous pouvez faire la même chose lors de l'impression du nom du handle twitter qui contient le @.

Ici est un bon msdn lien pour en savoir plus sur la syntaxe razor et ici est l'un de phil hack

11
répondu Shyju 2012-11-28 19:04:43