代码之家  ›  专栏  ›  技术社区  ›  SiberianGuy

ASP.NET MVC Razor额外空间

  •  29
  • SiberianGuy  · 技术社区  · 14 年前

    Razor在文本块之间插入额外的空间。我想用这种方式呈现一个列表:“1,2,3”,但得到“1,2,3”。

    @for (int i = 1; i < 3; i++)
    {
      <text>@i</text>
      if (i != 2)
      {
        <text>, </text>
      }
    }
    

    有没有什么方法可以去掉这个多余的空间?

    5 回复  |  直到 10 年前
        1
  •  18
  •   Adam Tegen    13 年前

    @for (int i = 1; i < 3; i++)
    {
      @Html.Raw(i)
      if (i != 2)
      {
        @Html.Raw(", ")
      }
    }
    
        2
  •  20
  •   Chris Thoman    13 年前

    <text> <

        @for (int i = 1; i <= 3; i++) {
          @i
          if (i < 3) {
            <text>, </text>
          }
        }
    

    <

    @for (int i = 1; i <= 3; i++) {
        @i
        if (i < 3) {
            @(", ")
        }
    }
    

    @for (int i = 1; i <= 3; i++) {
        var s = i < 3 ? ", " : null;
        @i @s
    }
    

    @for (int i = 1; i <= 3; i++) {
        @i @(i < 3 ? ", " : null)
    }
    

    @helper Item(int index) {
        @index
    }
    
    @helper Separator(int index, int count) {
        if (index < count) {
            @(", ")
        }
    }
    
    @for (int i = 1; i <= 3; i++) {
        @Item(i) @Separator(i, 3)
    }
    

        3
  •  10
  •   Adam Tegen    13 年前

    @for (int i = 1; i < 3; i++)
    {
      <text>@i</text>if (i != 2)
    {
    <text>, </text>
    }
    }
    

    @for (int i = 1; i < 3; i++)
    {
      <text>@i</text>if(i != 2){<text>, </text>}
    }
    

    thread on the asp.net

        4
  •  7
  •   Darin Dimitrov    14 年前

    public static MvcHtmlString RenderNumbers(this HtmlHelper htmlHelper, int count)
    {
        var text = string.Join(", ", Enumerable.Range(1, count).ToArray());
        return MvcHtmlString.Create(text);
    }
    

    @Html.RenderNumbers(3);
    
        5
  •  1
  •   Tim S.    11 年前

    @string.Join(", ", myList)
    @string.Join(", ", 1, 2, 3)
    @string.Join(", ", Enumerable.Range(1, 3))