MVC 3剃须刀,语法错误

Yar*_*ara 2 syntax razor asp.net-mvc-3

我怎样才能避免下一个逻辑呢?我有下一个代码:

<script type="text/javascript">
        var x = $("#myId1").val();
    @if(Model.IsOptions)
    {
     $('#myId2').click(function () { doSomething(); });
    }
</script>
Run Code Online (Sandbox Code Playgroud)

所以,我想要执行$('#myId2')..只有'Model.IsOption'为真.目前,Visual Studio将其强制为错误代码.

Dmi*_*kiy 6

@if里面的代码应该是C#,而不是JavaScript.Razor试图在服务器上执行它,而不是在客户端上执行它.要强制它将其视为JavaScript,您应该使用<text></text>@:像这样.

<script type="text/javascript">
    var x = $("#myId1").val();
    @if(Model.IsOptions)
    {
        <text>
            $('#myId2').click(function () { doSomething(); });
        </text>
    }
</script>
Run Code Online (Sandbox Code Playgroud)