【问题标题】:razor syntax - foreach looprazor 语法 - foreach 循环
【发布时间】:2011-05-26 16:01:48
【问题描述】:
@foreach (string s in "1,2,3".Split(',')) {
  s is equal to @s<br/>
}

我要吐槽: s 等于 1 s 等于 2 s 等于 3

但我遇到了各种各样的错误,因为 Visual Studio 认为 {} 之间是代码,但我希望它是标记。

【问题讨论】:

    标签: razor


    【解决方案1】:
    @foreach (string s in "1,2,3".Split(',')) {
      <text>s is equal to </text>@s<br/>
    }
    

    我认为这是因为您正在解析括号外的文本,所以 Razor 认为它是代码,尝试使用上面的 razor 文本标签,这与 @: 解析完全相同,但(至少对我而言)更多直观(它不会解析标签)

    【讨论】:

      【解决方案2】:

      Scott Guthrie just answered that this morning.
      改成

      @foreach (string s in "1,2,3".Split(',')) {
        @: s is equal to @s<br/>
      }
      

      【讨论】:

        【解决方案3】:

        刚刚看到on ScottGu's blog this morning:在该行之前使用@:

        @foreach (string s in "1,2,3".Split(',')) {
          @: s is equal to @s<br/>
        }
        

        或者,使用&lt;text /&gt; 标签:

        @foreach (string s in "1,2,3".Split(',')) {
          <text>s is equal to @s<br/></text>
        }
        

        【讨论】:

        • &lt;text&gt; 适合多行。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多