在javascript中使用View中的bool值

时间:2012-07-31 04:30:31

标签: javascript asp.net-mvc asp.net-mvc-3

我在模型中有bool属性:

public bool IsExistSchedule {get; set;}

在视图中我写了以下内容:

<div id="step1" data-schedule="@Model.IsExistSchedule">
...
</div>

在生成的页面data-schedule中包含True值 如何在javascript中正确使用此值?
例如,我想检查变量是否为真:

var isExist = $('#step1').attr('data-schedule');
if( isExist === "True")
     do something

我不喜欢这部分isExist === "True"。我应该将它转换为bool可能是或其他东西。我担心在其他浏览器中变量可能包含其他值:true, True, "True", "true" 感谢。

2 个答案:

答案 0 :(得分:10)

通常,如果您需要任何javascript模型,最好在您的视图中执行此操作:

@Json.Encode(Model.IsExistSchedule)

这会将值“转换”为javascript会理解的内容,例如下限布尔值。

然后,就像@Musa建议的那样,使用.data()方法。

答案 1 :(得分:1)

.data()方法会将其转换为布尔值,它与html5 data attributes

兼容
var isExist = $('#step1').data('schedule');
if (isExist)
    do something

注意"True"未转换为boolean(true),因此必须为"true"