C# 如何在javascript脚本标记中使用razor for循环?
生成的错误为“关闭条件编译” 来自MSDN的条件编译黑客很普遍,但失败了 有几个问题与此类似: 他们都指出了以下问题的答案: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
/*@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>