【问题标题】:razor syntax within quoted javascript引用的javascript中的剃刀语法
【发布时间】:2013-04-03 23:01:28
【问题描述】:

如何转义我的 javascript 以便执行以下操作?

这是一个例子:

它不是输出“Month1”、“Month2”等,而是实际输出“Month@i”。

     @for (int i = 0; i < 12; i++)
       { 
           <text>
           {
               field: 'Month@i',
               title: ,
               width: 10
           },
           </text>
       }

谢谢。

【问题讨论】:

    标签: c# javascript razor


    【解决方案1】:

    主要问题是 Month@i 被错误地解释为电子邮件地址,因此您需要使用显式表达式 @(...) 来告诉 Razor 这是一个代码表达式。 这是最好的解决方案:

    @for (int i = 0; i < 12; i++)
    { 
        <text>
        {
            field: 'Month@(i):',
            title: ,
            width: 10
        },
        </text>
    }
    

    【讨论】:

      【解决方案2】:

      您可以在 for 循环的顶部格式化字段名称:

      for (int i = 0; i < 12; i++)
      { 
          var field = string.Format("Month{0}", i);
          <text>
          {
             field: '@field',
             title: ,
             width: 10
          },
          </text>
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多