如何解决如何使用jQuery在剃刀视图中还原布尔值?
我只是剃刀视图的新手。我无法从jquery更改布尔值。我的代码是:
@{ var edits = true;}
<button id="btnEditWorkPerformed" class="btn btn-sm btn-primary pull-right" style="margin-top: 10px;">Edit</button>
在jQuery中,我正在尝试:-
$('#btnEditWorkPerformed').click(function (event) {
event.preventDefault();
@edits = !@edits
//alert('Lionel');
console.log(@edits)
});
在控制台中尝试此操作时,我在控制台中遇到错误
未定义真
如何在单击按钮时恢复bool的值?
解决方法
剃刀@edits
是服务器端变量-您不能更改此客户端端。
解决方案是将其转换为javascript变量,以便可以在客户端进行更改。
<script>
var edits = @(edits ? "true" : "false");
</script>
还有其他方法,但是请注意,@edits.ToString()
返回的True
/ False
与true
/ false
不同,因此不是var edits = @edits
。
此时,您可以将edits
用作javascript变量(即不使用@
):
event.preventDefault();
edits = !edits;
console.log(edits);
,
您也可以尝试以下代码段:
$('#btnEditWorkPerformed').click(function (event) {
event.preventDefault();
var edit = (!"@edits");
console.log(edit);
});
没有引号,javascript将尝试将True解释为值/表达式。在javascript中没有本地定义的True。它是“ true”,但是javascript区分大小写,因此不会将“ True”绑定到true。
var edit =(!“ @ edits”);这里的js变量edit
分配了剃须刀变量@edits
的倒数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。