我如何评论包含剃刀语法的javascript

时间:2015-04-17 12:05:26

标签: javascript asp.net-mvc razor model-view-controller

我在我的一个剃刀视图中有一些javascript代码:

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

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

这对第二个想法有意义,因为剃须刀应该用@ * * @对评论。所以要评论整个部分,我需要这样做:

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

虽然有道理但看起来有点矫枉过正,看起来很笨重。有更好/更简单的方法吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

知识分子抱怨,但评论无论如何都有效。但是javascript注释中的任何razor命令都会运行。为避免这种情况,请使用剃须刀评论:

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

这样可以防止剃刀命令运行。