Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在javascript脚本标记中使用razor for循环?_C#_Javascript_Asp.net Mvc 3_Razor - Fatal编程技术网

C# 如何在javascript脚本标记中使用razor for循环?

C# 如何在javascript脚本标记中使用razor for循环?,c#,javascript,asp.net-mvc-3,razor,C#,Javascript,Asp.net Mvc 3,Razor,生成的错误为“关闭条件编译” 来自MSDN的条件编译黑客很普遍,但失败了 有几个问题与此类似: 他们都指出了以下问题的答案: /*@cc_on @*/ 从MSDN上看到的文章: 然而,这个黑客非常失败,或者说我在实现它时似乎失败了。尾随的@*会导致.cshtml文件中的剩余代码被注释掉。此外,@cc\u on给出一个错误“cc\u on在当前上下文中不存在” 下面是一段在.cshtml文件中测试的代码: <script type="text/javascript"> @for

生成的错误为“关闭条件编译”

来自MSDN的条件编译黑客很普遍,但失败了

有几个问题与此类似:

他们都指出了以下问题的答案:

/*@cc_on @*/
从MSDN上看到的文章:

然而,这个黑客非常失败,或者说我在实现它时似乎失败了。尾随的
@*
会导致.cshtml文件中的剩余代码被注释掉。此外,
@cc\u on
给出一个错误“cc\u on在当前上下文中不存在”

下面是一段在.cshtml文件中测试的代码:

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

@对于(int i=0;i<5;i++)
{
document.write(@i);
}
这将导致“关闭条件编译”消息。尝试在其中插入解决方法将导致各种其他消息,如上下文中不存在“cc_on”、“预期”或“预期”;,或for循环中的“预期”


如何在javascript脚本标记中使用razor for循环?

尝试使用


@对于(int i=0;i<5;i++)
{
var=这个;
}

这看起来像是@HatSoft的复制品-大部分情况下是这样,尽管他们没有提到条件编译警告,这正是这个问题的目的。使用
@:
在这里从razor生成javascript,但“条件编译”的警告仍然存在。
@:document.write(@i)
更简洁,我想。换句话说,使用
@:
而不是
标记。真的吗?我不知道
@:
。它只用于过于冗长的单行语句。它在功能上是等效的。@KyleTrauberman-虽然这确实可以编译,但警告仍然存在。
<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    <text>var that = this;</text>
 }
</script>