使用C#中的Razor进行多行语句

Sam*_*uel 7 c# syntax asp.net-mvc 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.")
Run Code Online (Sandbox Code Playgroud)

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

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

我觉得奇怪的是,新行以括号开头.

Aar*_*ght 17

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

@(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."))
Run Code Online (Sandbox Code Playgroud)

顺便说一下,通常认为更好的代码风格是在带有点的流畅界面中开始新行,而不是前一行的右括号.如在这个例子中.