NOT*_*dio 0 javascript asp.net-mvc razor asp.net-mvc-3
我有以下代码:
<script type="text/javascript">
if ('@(Model.DidPass)' == 'True') {
alert('Blah Blah True');
}
else {
alert('Blah blah false');
}
</script>
Run Code Online (Sandbox Code Playgroud)
在Fiddler中我可以看到我的if语句在浏览器中呈现为:
if ('True' == 'True')
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,警报('Blah blah blah blah True')将无法执行.如果我单步执行VS中的代码,我可以看到它到if语句然后就是bug.有什么想法吗?
您将需要从代码转换为html,就像这样.否则,编译器将假定alert是ac#方法调用(它不是),当您尝试使用它时,您将收到编译器错误.
<script type="text/javascript">
@if(Model.DidPass){
@:alert('Blah Blah True');
} else {
@:alert('Blah blah false');
}
</script>
Run Code Online (Sandbox Code Playgroud)
或者,<text></text>如果您的javascript占用多行,则可以使用psuedo元素.该@:只对以下所有的方式,直到换行文字.