tsh*_*ake 1 javascript asp.net-mvc jquery razor
这是我的代码.我基本上想看看我的模型,看看是否存在任何东西.使用三元运算符根据存在显示或隐藏.
$(document).ready(function() {
(@Model.MyProperties.Any()) ? $('#removeall-toggle').show() : $('#removeall-toggle').hide();
});
Run Code Online (Sandbox Code Playgroud)
我在chrome dev工具中遇到错误,说:
Uncaught ReferenceError: False is not defined
Run Code Online (Sandbox Code Playgroud)
我如何解决这个问题,或者这是一个更好的方法来实现这一目标?
Any()方法将返回,True并且您的代码将在呈现页面时生成以下javascript代码.
$(document).ready(function() {
(True) ? $('#removeall-toggle').show() : $('#removeall-toggle').hide();
});
Run Code Online (Sandbox Code Playgroud)
现在Javascript会认为它True是可变的,并尝试使用它的值,它找不到它,因为它没有在页面中先前定义.由于此变量未在页面中先前定义,因此您将收到未定义的错误.
undefined Truevaribale true在javascript中不是boolean .所以做一个字符串比较.
$(document).ready(function() {
("@Model.Products.Any()"==="True") ?
$('#removeall-toggle').show() : $('#removeall-toggle').hide();
});
Run Code Online (Sandbox Code Playgroud)