3

以下を実行できるように、JavaScript をエスケープするにはどうすればよいですか?

これは例です:

「Month1」、「Month2」などを出力するのではなく、実際に「Month@i」を出力しています。

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

ありがとう。

4

2 に答える 2

3

主な問題は、Month@i が電子メール アドレスとして誤って解釈されるため、明示的な式 @(...) を使用して、これがコード式であることを Razor に伝える必要があることです。これが最善の解決策です。

@for (int i = 0; i < 12; i++)
{ 
    <text>
    {
        field: 'Month@(i):',
        title: ,
        width: 10
    },
    </text>
}
于 2013-04-03T23:05:31.113 に答える
3

for ループの先頭でフィールド名をフォーマットできます。

for (int i = 0; i < 12; i++)
{ 
    var field = string.Format("Month{0}", i);
    <text>
    {
       field: '@field',
       title: ,
       width: 10
    },
    </text>
}
于 2013-04-03T23:04:05.730 に答える