Ответ 1
@
- зарезервированный символ в Razor. Но вы можете избежать этого, используя @@
:
@@media print
В представлении бритвы 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.
Спасибо.
@
- зарезервированный символ в Razor. Но вы можете избежать этого, используя @@
:
@@media print
В представлениях бритвы @
- волшебный символ, который предшествует коду.
В вашем случае используйте 2 @@
. В противном случае бритва будет верой в то, что это какой-то код/выражение.
@@media print.
В качестве альтернативы вы также можете использовать метод Html.Raw
.
@Html.Raw("@")media print
Вы можете сделать то же самое, когда печатаете имя дескриптора твиттера, в котором есть @
.
Здесь является хорошей ссылкой msdn, чтобы узнать больше о синтаксисе бритвы и здесь является одним из phil hack