2

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

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

所以,我想执行 $('#myId2').. 仅当 'Model.IsOption' 为真时。目前 Visual Studio 将其下划线为错误代码。

4

2 回答 2

6

@if 中的代码应该是 C#,而不是 JavaScript。Razor 尝试在服务器上执行它,而不是在客户端上。要强制它把它当作 JavaScript,你应该使用<text></text>or @:,就像这样。

<script type="text/javascript">
    var x = $("#myId1").val();
    @if(Model.IsOptions)
    {
        <text>
            $('#myId2').click(function () { doSomething(); });
        </text>
    }
</script>
于 2012-07-09T14:00:11.263 回答
0

你能试一下吗:

@{
    if(Model.IsOptions)
    {
         $('#myId2').click(function () { doSomething(); });
    }
}

它有效吗?

于 2012-07-09T16:23:16.840 回答