C# 使用Razor和Resharper编写Javascript
我正在尝试用Razor(MVC4)编写以下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
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>