当前位置:  开发笔记 > 编程语言 > 正文

将.net MVC视图中的布尔值传递给javascript,但JS不接受True,想要为true

如何解决《将.netMVC视图中的布尔值传递给javascript,但JS不接受True,想要为true》经验,为你挑选了2个好方法。

我将一个布尔值传递给我的.net mvc操作页面中的javascript函数.

问题是,它输出值True,javascript显然只接受'true'(小写).

我不想破解变量并将其变为字符串并在我的操作中将其转换为小写,但看起来我没有选择?



1> Dylan Beatti..:

如果您在.NET布尔值上使用ToString()方法将值发送到Javascript,请尝试将其替换为类似

(myBoolean ? "true" : "false")

这样它就会被发送到Javascript,作为所需bool值的相应字符串表示.

编辑:注意区别:



在第一个示例中,您最终得到:

var myBoolean = false;

这是一个文字布尔值false.在第二个,你最终得到:

var myBoolean = 'false';

在JavaScript中,'false'是一个非空字符串,因此如果在布尔上下文中进行求值,它将是真的.嗯,真实的.:)


@StephenPrice Javascript中的真实性非常奇怪.Javascript中的每个日期/时间都是正确的,除了1969年12月31日午夜的行程(评估为零,因为JS使用01/01/1970 00:00:00作为纪元)我曾在JS谈话中提到这一点,这位老嬉皮士编号说:"是的,我在那里......新年前夜午夜.阿姆斯特朗已经走过月球,我们只是度过了爱情的夏天,一切看起来都非常精彩和乐观.回首在它上面,它显然是错误的......":)

2> CM Digital..:

我创建了一个扩展方法,在模型的任何布尔属性中使用它.

    public static class GeneralExtensions
    {
    public static string GetValueForJS(this bool argValue)
        {
            return argValue ? "true" : "false"; 
        }
     }

现在在视图中我可以简单地使用:


推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有