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

Posted

技术标签:

【中文标题】当前上下文中不存在名称“媒体”【英文标题】: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.

谢谢。

【问题讨论】:

你什么时候收到这个错误? 调试前,屏幕上字下有一条红色波浪线。 【参考方案1】:

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

@@media print

【讨论】:

【参考方案2】:

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

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

@@media print.

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

@Html.Raw("@")media print

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

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

【讨论】:

以上是关于当前上下文中不存在名称“媒体”的主要内容,如果未能解决你的问题,请参考以下文章

C# 当前上下文中不存在的名称

arcengine显示当前上下文中不存在名称怎么办

CS0103: 当前上下文中不存在名称“DataHelper”

C# 当前上下文中不存在名称“Console”

当前上下文中不存在名称

当前上下文不存在名称