Подтвердить что ты не робот

Название "media" не существует в текущем контексте

В представлении бритвы ASP.NET MVC 3 у меня есть код:

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

Однако я получил ошибку:

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

Спасибо.

4b9b3361

Ответ 1

@ - зарезервированный символ в Razor. Но вы можете избежать этого, используя @@:

@@media print

Ответ 2

В представлениях бритвы @ - волшебный символ, который предшествует коду.

В вашем случае используйте 2 @@. В противном случае бритва будет верой в то, что это какой-то код/​​выражение.

@@media print.

В качестве альтернативы вы также можете использовать метод Html.Raw.

@Html.Raw("@")media print

Вы можете сделать то же самое, когда печатаете имя дескриптора твиттера, в котором есть @.

Здесь является хорошей ссылкой msdn, чтобы узнать больше о синтаксисе бритвы и здесь является одним из phil hack