C# 使用Razor和Resharper编写Javascript

C# 使用Razor和Resharper编写Javascript,c#,asp.net,asp.net-mvc-4,razor,resharper,C#,Asp.net,Asp.net Mvc 4,Razor,Resharper,我正在尝试用Razor(MVC4)编写以下javascript (脚本标记在那里) 在视图中,我使用模型获取值: var isPaid = @Model.Paid; <text> var proceed = @Model.Paid; </text> var proceed = @Html.Raw(Model.Paid + ";") var isPaid=@Model.Paid; var procedure=@Model.Paid; var proc

我正在尝试用Razor(MVC4)编写以下javascript

(脚本标记在那里)

在视图中,我使用模型获取值:

 var isPaid = @Model.Paid;

 <text>
    var proceed = @Model.Paid;
 </text> 

 var proceed = @Html.Raw(Model.Paid + ";")
var isPaid=@Model.Paid;
var procedure=@Model.Paid;
var procedure=@Html.Raw(Model.Paid+“;”)

大多数情况下,Resharper都会抱怨,不能在HTML代码中组合JavaScript,需要在值周围加引号和尖括号,以便将其视为字符串

问题似乎不止这些:

var isPaid = @Model.Paid;

 <text>
    var proceed = @Model.Paid;
 </text> 

您可以这样尝试:

<script type="text/javascript">
    var isPaid = false; // This is JavaScript.

    // The if statement is C#, hence the @.
    @if (Model.Paid)
    {
        @:isPaid = true;  // Set the JS variable to true.
    }

    // Below is JavaScript code again.
    alert(isPaid);
</script>

问题在于Razor(MVC4)而不是asp.net网页。resharper抱怨什么?可能是因为javascript代码中包含HTML。@OP-在视图中,将其包装在标记中。要在运行时获取值,请尝试
var procedure=@Model.Paid。不过,你能再解释一下吗?您是否正在尝试编写整行
var isPaid=true或您是否正在尝试在运行时设置
var isPaid
的值?你还说“使用模型/我尝试过:”,你的意思是查看吗?可能是重复的
<script type="text/javascript">
 var isPaid = '<%: @Model.Paid %>';
</script>
<script type="text/javascript">
    var isPaid = false; // This is JavaScript.

    // The if statement is C#, hence the @.
    @if (Model.Paid)
    {
        @:isPaid = true;  // Set the JS variable to true.
    }

    // Below is JavaScript code again.
    alert(isPaid);
</script>
<script type="text/javascript">
    var userName = '@Model.UserName';
</script>