"媒体"这个名称在当前上下文中不存在

42 css asp.net-mvc html5 asp.net-mvc-3

在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>
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

The name 'media' does not exist in the current context.
Run Code Online (Sandbox Code Playgroud)

谢谢.

McG*_*gle 101

@是剃刀中的保留角色.但你可以使用@@以下方法逃避:

@@media print
Run Code Online (Sandbox Code Playgroud)


Shy*_*yju 14

在剃刀视图中,@是代码之前的魔术角色.

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

@@media print.
Run Code Online (Sandbox Code Playgroud)

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

@Html.Raw("@")media print
Run Code Online (Sandbox Code Playgroud)

打印包含其中的twitter句柄名称时,您也可以这样做@.

是一个很好的msdn链接,了解更多关于razor语法的知识,这里有一个来自phil hack