8

当我在 cshtml 文件中的脚本块中创建一个 razor 注释块时,javascript intelisense 给了我错误。我们如何解决这个问题?提示:我使用 VisualStudio 2012 和 Resharper 7.1.2

我知道我们可以使用如下代码的嵌套注释(剃刀注释和外部的 javascript 注释)

<script type="text/javascript">
    //@*
    var something = "bla bla";
    //*@
    var other = "something else";
</script>

它必须正常工作,但有两个问题 1- 智能感知让我出错 2- 由于剃刀忽略空格,关闭注释符号 ( *@ ) 后的其余代码

编辑1:

我尝试过的其他事情是:

/*@*
var something = "bla bla";
*@*/
var other = "something else";

/*@*
var something = "bla bla";
*@*/
var other = "something else";

. 但他们也有一些问题。

4

2 回答 2

5

如果我理解您的问题,您想根据某些条件定义一个 javascript 变量。

如果是真的,你可以试试下面的

<script type="text/javascript">
@if (Model.UserCanSee)
{

    <text>
        var uiEnabled=true;         
    </text>
}
else{

    <text>
        var uiDisabled=true;         
    </text>
}
</script>
于 2013-04-12T11:49:43.957 回答
5

我发现我的答案是:

<script type="text/javascript">
/*@*
var something = "bla bla";
*@//*/
var other = "something else";
</script>

它将呈现为

/*//*/
var other = "something else";

visual studio intelisense 和 resharper 工作正常!!!

于 2013-04-15T04:30:44.730 回答