c# – 如何在javascript脚本标记中使用剃刀for循环?

生成的错误是“条件编译已关闭”.

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

有几个像这样的问题:
Conditional Compilation is turned off in Razor?

他们都指出了答案:

/*@cc_on @*/

从MSDN上看到的文章:

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

但是,这个hack很失败,或者我似乎无法实现它.尾随@ *会导致.cshtml文件中的剩余代码被注释掉.此外,@ cc_on给出错误“cc_on在当前上下文中不存在”.

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

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

这将导致“条件编译关闭”消息.试图在其中插入变通方法将导致来自for循环的上下文“,”,“期望”,“或”期望;“或”预期“”中存在各种其他消息,例如“cc_on”.

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

解决方法:

尝试使用< text>< / text>围绕您的js

<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    <text>var that = this;</text>
 }
</script>
上一篇:c# – 如果word长于X,则用点替换字符串的结尾


下一篇:Razor项目所感(上)