在使用MVC3 RC1剃须刀视图的javascript块嵌入c#代码之前遇到麻烦。我应该使用什么语法来使这个工作?我得到警告,例如对isOk变量的期望常数等。 (没有文本标签,以下代码不被识别为javascript)
@{bool isOk = true;} <script type="text/javascript"> var tmp1 = ""; @if (isOk) { <text> var tmp=""; // this should be interpreted as javascript </text> } </script>
解决方法
您需要< text>标记以指示在服务器上未评估内容。例如:
@{ var isOK = true; } <script type="text/javascript"> var tmp1 = ""; @if (isOK) { <text> var tmp = "foo"; </text> } </script>
<script type="text/javascript"> var tmp1 = ""; var tmp = "foo"; </script>
就预期的常态警告而言,好的,Razor Intellisense仍然处于测试阶段,所以它远非完美。这只是一个警告,你可以安全地忽略。重要的是应用程序的工作原理是什么,并发出有效的HTML。希望这是在最终产品中被修正的东西。从个人经验来看,我信任的唯一警告是C#编译器发出的警告。当我在视图中工作时,我会安全地忽略Visual Studio发出的所有令人吃惊的警告,因为我知道这是错误的。