CSS3 @ font-face breaks Razor parser - может ли он оставаться встроенным через обходной путь? - PullRequest
23 голосов
/ 14 июля 2011

Правило CSS3 @ font-face разрывает раздел Razor с сообщением об ошибке: CS0103: The name 'font' does not exist in the current context. Вылетает во время выполнения.

Кажется, что символ CSS3 @ - это проблема, которая вызывает сбой анализатора Razor.

Пример:

@section HeadCustomStyleBlock {  
    <style type="text/css">  
        @font-face {  
            font-family: Gentium;
            src: url(http://example.com/fonts/Gentium.ttf);            
        }  
    <style>  
}  

Для контекста, @section HeadCustomStyleBlock включается в элемент <head> страницы макета.

Вместо того, чтобы переместить это во внешний файл, могу ли я применить обходной путь, чтобы он оставался встроенным?

1 Ответ

40 голосов
/ 14 июля 2011

Согласно блогу Скотту:

В тех случаях, когда содержимое является допустимым и в виде кода (и вы хотите обрабатывать его как содержимое), вы можете явно экранировать символы @ набрав @@.

http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

...