使用MVC3 RC1 razor视图在javascript块中嵌入javascript代码时遇到问题。我应该使用什么语法来使其工作?我收到警告,例如。isOk变量上的预期常量。(如果没有text标记,以下代码不会被识别为javascript)
@{bool isOk = true;}
<script type="text/javascript">
var tmp1 = "";
@if (isOk)
{
<text>
var tmp=""; // this should be interpreted as javascript
</text>
}
</script>
发布于 2010-11-17 21:21:59
您需要<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>
至于Expected Constant
的警告,嗯,Razor Intellisense还在测试版中,所以它还很不完美。这只是一个你可以放心忽略的警告。重要的是应用程序能够工作并发出有效的HTML。希望这是一些东西,将在最终产品中修复。根据个人经验,我唯一信任的警告是C#编译器发出的警告。当我在视图中工作时,我会安全地忽略Visual Studio发出的所有糟糕的警告,因为我知道它是错误的。
发布于 2010-11-18 16:36:11
另一种方法(更简洁、更易于阅读的IMO)是转回文本,如下所示:
<script type="text/javascript">
var tmp1 = "";
@if (isOK)
{
@:var tmp = "foo";
}
</script>
https://stackoverflow.com/questions/4204669
复制相似问题