2

次のロジックを回避するにはどうすればよいですか? 次のコードが表示されます。

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

したがって、「Model.IsOption」が true の場合にのみ $('#myId2').. を実行します。現在、Visual Studio は間違ったコードとして下線を引いています。

4

2 に答える 2

6

@if 内のコードは、JavaScript ではなく C# である必要があります。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 に答える