Javascript if语句不会执行MVC3/razor

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.有什么想法吗?

Bui*_*ted 7

您将需要从代码转换为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元素.该@:只对以下所有的方式,直到换行文字.