多行变量的语法

Joh*_*Doe 2 razor asp.net-mvc-3

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

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

我让它工作的唯一方法就是让一切都在一条线上。

目前我有:

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

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

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

Luk*_*brt 5

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

要保留格式,您可以使用“逐字字符串文字”。它会抑制特殊字符(例如“\”或“新行”),直到遇到下一个双引号。

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

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

@Html.Raw(myCss)
Run Code Online (Sandbox Code Playgroud)

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