如何避免下一个逻辑?我有下一个代码:
<script type="text/javascript">
var x = $("#myId1").val();
@if(Model.IsOptions)
{
$('#myId2').click(function () { doSomething(); });
}
</script>
所以,我想要执行$(&#39;#myId2&#39;)..只有当&#39; Model.IsOption&#39;是真的。目前,Visual Studio将其强制为错误代码。
答案 0 :(得分:6)
@if中的代码应该是C#,而不是JavaScript。 Razor试图在服务器上执行它,而不是在客户端上执行它。要强制它将其视为JavaScript,您应该使用<text></text>
或@:
,就像这样。
<script type="text/javascript">
var x = $("#myId1").val();
@if(Model.IsOptions)
{
<text>
$('#myId2').click(function () { doSomething(); });
</text>
}
</script>
答案 1 :(得分:0)
你可以尝试:
@{
if(Model.IsOptions)
{
$('#myId2').click(function () { doSomething(); });
}
}
有效吗?