首页 > 解决方案 > 如何使用 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)
                   });

在控制台中尝试此操作时,我在控制台中遇到错误

True 未定义

如何在按钮单击时恢复 bool 的值?

标签: javascriptjqueryrazorrazor-pages

解决方案


Razor@edits是一个服务器端变量——你不能改变这个客户端。

解决方案是将其转换为 javascript 变量,以便可以在客户端进行更改。

<script>
    var edits = @(edits ? "true" : "false");
</script>

还有其他方法,但请注意@edits.ToString()返回True/Falsetrue/不同false,因此不是var edits = @edits.

此时,您可以将其edits用作 javascript 变量(即没有@):

event.preventDefault();
edits = !edits;
console.log(edits);

推荐阅读