2012-02-01 63 views
0

我正在嘗試使用Razor來生成一些CSS。但是,我遇到了語法衝突的問題。例如:如何使用剃鬚刀擴展CSS模板?

@section css { 
<style type="text/css"> 
    #@(Model.InstanceName) { 
     top: @(Model.Properties["top"])px; 
    } 
</style> 
} 

正在發生的事情是,第一右大括號(})是由剃刀解釋爲@section結束,而不是最後一個。我如何讓剃刀忽略它?

回答

3

我發現這個問題。看起來這是ASP.NET MVC4 Beta中的一個錯誤。這將教會我使用測試版軟件。

它在ASP.NET MVC中的預期效果3

0

您的代碼爲我工作。

此,如果你的HTML標籤是不平衡只會發生。
您應該平衡自己的標籤或前綴@:該行(或<text>標籤包裹),以防止它解析}

+0

它不適用於我,並且HTML標籤不平衡。如果我刪除@(Model.Properties [「top」])位,它會正常工作,但只要我將它放回解析器就會再次感到困惑。此外,將@:放入解析器錯誤,並且打包在標記中會導致打開標記被呈現,但不會導致結束標記 – 2012-02-01 01:55:37