名称'媒体'在当前上下文中不存在

时间:2012-11-28 18:57:54

标签: css asp.net-mvc html5 asp.net-mvc-3

在ASP.NET MVC 3 razor视图中,我有代码:

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

感谢。

2 个答案:

答案 0 :(得分:93)

@是Razor中的保留字符。但你可以使用@@来逃避它:

@@media print

答案 1 :(得分:12)

在剃刀视图中,@是代码之前的神奇字符。

在您的情况下,请使用2 @@。否则razor将是一些代码/表达式的东西。

@@media print.

或者您也可以使用Html.Raw方法。

@Html.Raw("@")media print

打印包含@的Twitter句柄名称时,您也可以这样做。

Here是一个很好的msdn链接,可以更多地了解剃刀语法,而here来自phil hack