在MVC Razor中包装代码

时间:2018-01-03 11:17:46

标签: c# asp.net-mvc razor

对于ASP.NET MVC Razor视图中的长行C#代码,如何将代码包装到下一行?如果我添加一个回车符,它会将代码呈现为HTML。

编辑:这是我想要包装的代码示例。在最后一行中,添加的方法调用开始在屏幕上运行,我希望将.WithAjax(true)之类的内容带到下一行。

@Html.Grid(stuff).Columns(columns =>
{
    //stuff
}).Sortable().Filterable().WithMultipleFilters().WithPaging(WebSettings.DefaultPageSize)
  .WithAjax(true).Exportable(true)

2 个答案:

答案 0 :(得分:1)

你可以附上一个" Razor代码块"使用@{ }语法。内容不会被呈现,但内部声明的变量可以被页面的其余部分访问。

@{
    string longMessage = "Lorem ipsum dolor sit amet, consectetur " +
        /* these linebreaks will not be part of the string variable */ +
        "adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna.";
} 

@* Now render the string variable declared in the code block *@
<p>@longMessage</p>

请参阅Razor syntax for ASP.NET Core

修改

具体代码:

 @{
    // assign the IHtmlString created by the HTML Helper to a variable
    var grid = Html.Grid(stuff).Columns(columns =>
        {
          //stuff
        }).Sortable().Filterable().WithMultipleFilters()
        .WithPaging(WebSettings.DefaultPageSize)
        .WithAjax(true).Exportable(true));
 }

@* now render the variable content *@
@grid

答案 1 :(得分:1)

您可以像这样使用@()

@(Html.Grid(stuff).Columns(columns =>
{
//stuff
}).Sortable().Filterable().WithMultipleFilters()
  .WithPaging(WebSettings.DefaultPageSize)
  .WithAjax(true).Exportable(true))

这称为Explicit Expression