多行变量的语法

时间:2015-10-23 17:15:45

标签: asp.net-mvc-3 razor

我是Razor引擎的新手。我想要完成的是设置一个包含css类的局部变量。如果以后有人需要修改它,我希望以更易读的格式使用它。

完成此操作的正确语法是什么? (我首先尝试了myCSS =" ...",然后我尝试使用@ Html.Raw方法)

我能让它发挥作用的唯一方法是将所有内容保持在一条线上。

目前我有:

@{ var myCSS = @Html.Raw("<style>table {border-collapse: collapse; } ...etc</style>"); }

我想要更具可读性的东西。如:

@{ var myCss = @Html.Raw("
<style>
   table {border-collapse: collapse; } 
   etc....
</style>
"); }

1 个答案:

答案 0 :(得分:2)

无需使用Html.Raw,因为您正在定义C#变量。应该在需要渲染CSS的地方使用Html.Raw

要保留格式化,您可以使用&#39; verbatim string literal&#39;。它会抑制特殊字符(例如&#39; \&#39;或者#39;新行&#39;),直到遇到下一个双引号。

@{
    var myCss = @"
        <style>
            table {
                border-collapse: collapse;
            }

            etc....
        </style>";
}

@Html.Raw(myCss)

另一个问题是,为什么在C#变量中需要CSS ...