【问题标题】:The name 'media' does not exist in the current context当前上下文中不存在名称“媒体”
【发布时间】:2012-11-16 17:41:54
【问题描述】:

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

谢谢。

【问题讨论】:

  • 你什么时候收到这个错误?
  • 调试前,屏幕上字下有一条红色波浪线。

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


【解决方案1】:

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

@@media print

【讨论】:

    【解决方案2】:

    在 razor 视图中,@ 是代码之前的魔法字符。

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

    @@media print.
    

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

    @Html.Raw("@")media print
    

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

    Here 是一个很好的 msdn 链接,可以了解更多关于 razor 语法的信息,here 是来自 phil hack 的链接

    【讨论】:

      猜你喜欢
      • 2020-10-28
      • 1970-01-01
      • 2013-10-02
      • 2014-04-22
      • 2017-06-17
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多