如何在JavaScript块上使用razor注释/
当我在cshtml文件中将razor注释块创建为脚本块时,javascript intelissense会给出错误信息。 我们如何解决这个问题? 提示:我使用VisualStudio 2012和Resharper 7.1.2 我知道我们可以使用嵌套注释,如下面的代码(razor注释和外部的javascript注释) 及如何在JavaScript块上使用razor注释/,javascript,asp.net-mvc,visual-studio,razor,Javascript,Asp.net Mvc,Visual Studio,Razor,当我在cshtml文件中将razor注释块创建为脚本块时,javascript intelissense会给出错误信息。 我们如何解决这个问题? 提示:我使用VisualStudio 2012和Resharper 7.1.2 我知道我们可以使用嵌套注释,如下面的代码(razor注释和外部的javascript注释) 及 /*@* var something = "bla bla"; *@*/ var other = "something else"; 。但是他们也有一些问题。如果我理解您的问题
/*@*
var something = "bla bla";
*@*/
var other = "something else";
。但是他们也有一些问题。如果我理解您的问题,您需要根据某些条件定义一个javascript变量 如果这是真的,你可以试试下面的方法
<script type="text/javascript">
@if (Model.UserCanSee)
{
<text>
var uiEnabled=true;
</text>
}
else{
<text>
var uiDisabled=true;
</text>
}
</script>
@if(Model.UserCanSee)
{
var uiEnabled=true;
}
否则{
var uiDisabled=true;
}
我发现我的答案是:
<script type="text/javascript">
/*@*
var something = "bla bla";
*@//*/
var other = "something else";
</script>
visual studio IntelliSense和resharper工作正常 为什么不直接使用JavaScript注释语法呢?还有,你为什么使用内联JavaScript?你能粘贴一些代码吗?评论不应影响此操作。为什么要评论?如果需要,您可以使用If:)@OmidShariati这样的条件语句,然后将它们粘贴到脚本块之前。无论如何,您都不应该在Razor脚本中嵌套JavaScript。这是一场维护噩梦。将脚本移动到它所属的单独文件中,问题就会消失。@JamesSouth是绝对正确的。这不仅仅是关于javascript变量。它是关于razor页面上的内联javascript。(任何javascript代码)
<script type="text/javascript">
@if (Model.UserCanSee)
{
<text>
var uiEnabled=true;
</text>
}
else{
<text>
var uiDisabled=true;
</text>
}
</script>
<script type="text/javascript">
/*@*
var something = "bla bla";
*@//*/
var other = "something else";
</script>
/*//*/
var other = "something else";