56

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

谢谢。

4

2 回答 2

137

The@是 Razor 中的保留字符。但是您可以使用以下方法逃避它@@

@@media print
于 2012-11-28T19:01:02.647 回答
15

在剃刀看来,@是代码之前的神奇角色。

在您的情况下,请使用 2 @@。否则剃刀会认为它是一些代码/表达式。

@@media print.

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

@Html.Raw("@")media print

您可以在打印其中包含 twitter 句柄名称时执行相同操作@

是一个很好的 msdn 链接,可以了解有关剃刀语法的更多信息,是来自 phil hack的链接

于 2012-11-28T18:59:27.780 回答