如何注释掉包含剃刀语法的 javascript

How can I comment out javascript that contains razor syntax

我的一个剃须刀视图中有这段 javascript 代码:

$(document).ready(function () {
    $.post('@Url.Action("GetNavigation","Account")', function (data) {
        $('#navigation').html(data);
    });
});

出于调试目的,我想快速禁用此代码,所以我想我只是在 javascript 代码周围添加一对 /* */ 使其成为注释。我注意到 VS 2013 intellisense 没有将整个部分标记为注释(剃须刀钻头后摇晃的红线)。所以,我在每一行的开头都加了一个双斜杠。现在智能感知不再抱怨了。但令我惊讶的是,当我 运行 代码时,结果 @Url.Action("GetNavigation","Account") 仍然被执行。

这确实有道理,因为剃须刀应该用 @* *@ 对来评论。所以要评论整个部分我需要这样做:

// $(document).ready(function () {
//@*    $.post('@Url.Action("GetNavigation","Account")', function (data){*@
//          $('#navigation').html(data);
//      });
// });

虽然它有道理,但似乎有点矫枉过正,而且看起来很笨重。有better/easier方法吗?

使用@* 和*@。这些会自动创建有效字符。

intelisense 抱怨,但评论仍然有效。但是 javascript 评论中的任何剃须刀命令都会 运行。为避免它,请使用剃刀评论:

@{ /*
    $(document).ready(function () {
        $.post('@Url.Action("GetNavigation","Account")', function (data) {
            $('#navigation').html(data);
        });
    });
*/ }

这甚至会阻止 运行 的剃刀命令。