c#中使用Razor的多行语句

本文关键字:语句 Razor | 更新日期: 2023-09-27 18:13:24

我尝试用Razor语法编写语句,使用mvccontrib网格,其中流畅的接口使语句在长行中。我想把它分散成多行,像这样:

@Html.Grid(Model).Columns(column =>
        {
            column.For(x => Html.ActionQueryLink(x.Name, "Edit", new { id = x.Id })).Named("Name");
            column.For(x => x.Number).Named("Number");
        }
        ).Attributes(@class => "grid-style"
        ).Empty("No data.")

是否可以将最后两行开头的圆括号放在每一行前一行的末尾?

当我尝试将圆括号放在每行的末尾并尝试开始写带有点的新行时,这个新行被解释为原始输出的文本。

我觉得很奇怪,新行以圆括号开始

c#中使用Razor的多行语句

您只需要在代码块的开头添加一个开括号。将代码改为:

@(Html.Grid(Model)
    .Columns(column =>
    {
        column.For(x => Html.ActionQueryLink(x.Name, "Edit", new { id = x.Id })).Named("Name");
        column.For(x => x.Number).Named("Number");
    })
    .Attributes(@class => "grid-style")
    .Empty("No data."))

说句题外话,通常认为在流畅的界面中,用点而不是前一行的右括号开始新行是更好的代码风格。如本例所示。