css 当前上下文中不存在名称“media”

7rtdyuoh  于 2023-06-25  发布在  其他
关注(0)|答案(2)|浏览(172)

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

谢谢

o2rvlv0m

o2rvlv0m1#

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

@@media print
bkhjykvo

bkhjykvo2#

在剃刀视图中,@符号是代码前面的魔法字符。
在您的示例中,使用2 @@符号;否则Razer会认为这是一个代码/表达式块。
例如:

@@media print.

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

@Html.Raw("@")media print

一个示例用法是打印Twitter句柄时,其中包含@字符。
Here是一个很好的msdn链接,可以了解更多关于razor语法的信息,here是Phil Hack的一个。

相关问题