我正在尝试在 Razor (MVC4) 中编写以下 javascript。
(脚本标签在那里)
var isPaid = true;
在视图中我使用模型来获取值:
var isPaid = @Model.Paid;
<text>
var proceed = @Model.Paid;
</text>
var proceed = @Html.Raw(Model.Paid + ";")
大多数时候 Resharper 抱怨
我正在尝试在 Razor (MVC4) 中编写以下 javascript。
(脚本标签在那里)
var isPaid = true;
在视图中我使用模型来获取值:
var isPaid = @Model.Paid;
<text>
var proceed = @Model.Paid;
</text>
var proceed = @Html.Raw(Model.Paid + ";")
大多数时候 Resharper 抱怨
您不能在 HTML 代码中组合 JavaScript,您需要在值周围加上引号和尖括号,以便将其视为字符串。
问题似乎是这个以及更多..:
var isPaid = @Model.Paid;
<text>
var proceed = @Model.Paid;
</text>
建议的解决方案是:
普通的 JavaScript 代码应该位于script
标签内,例如:
<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>
块后的文本@:
将被解释为 JavaScript。布尔值有点麻烦,string
例如属性要容易得多:
<script type="text/javascript">
var userName = '@Model.UserName';
</script>