How can a razor for loop be used in a javascript script tag?

烈酒焚心 提交于 2019-12-23 09:48:16

问题


The error generated is "Conditional Compilation is turned off".

Conditional Compilation hack from MSDN is prevalent but fails.

There are several questions like this one: Conditional Compilation is turned off in Razor?

They all point to the answer of:

/*@cc_on @*/

From the article seen here at the MSDN:

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

However, this hack is pretty fail or I seem to fail at implementing it. The trailing @* causes the remaining code in the .cshtml file to become commented out. Moreover, @cc_on gives an error "cc_on does not exist in the current context".

Here is a piece of code to test in a .cshtml file:

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

Which will cause the "Conditional Compilation is turned off" message. Attempting to insert the workaround in there will cause various other messages such as "cc_on" does not exist in the context", "expected ,", or "expected ;", or "expected )" from the for loop.

How can a razor for loop be used in a javascript script tag?


回答1:


Try surrounding your js with <text></text>

<script type="text/javascript">
 @for(int i = 0; i < 5; i++)
 {
    <text>var that = this;</text>
 }
</script>


来源:https://stackoverflow.com/questions/11302698/how-can-a-razor-for-loop-be-used-in-a-javascript-script-tag

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!