9

生成されるエラーは、「条件付きコンパイルがオフになっています」です。

MSDN からの条件付きコンパイル ハックが流行していますが、失敗しています。

このような質問がいくつかあります: Razor で条件付きコンパイルがオフになっていますか?

それらはすべて、次の答えを示しています。

/*@cc_on @*/

MSDNでここに見られる記事から:

http://msdn.microsoft.com/en-us/library/5y5529x3(v=vs.90).aspx

ただし、このハックはかなり失敗しているか、実装に失敗しているようです。末尾@*により、.cshtml ファイル内の残りのコードがコメント アウトされます。さらに、@cc_on「現在のコンテキストにcc_onが存在しません」というエラーが発生します。

.cshtml ファイルでテストするコードの一部を次に示します。

<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    document.write(@i);
 }
</script>

これにより、「条件付きコンパイルがオフになっています」というメッセージが表示されます。そこに回避策を挿入しようとすると、「cc_on」がコンテキストに存在しません」、「expected 、」、「expected ;」、「expected )」などの他のさまざまなメッセージが for ループから発生します。

javascriptスクリプトタグでかみそりのforループを使用するにはどうすればよいですか?

4

1 に答える 1

12

あなたのjsを囲んでみてください<text></text>

<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    <text>var that = this;</text>
 }
</script>
于 2012-07-03T00:05:00.447 に答える