1

我有以下javascript代码:

$(window).bind("scheduleComplete", (function (event, params) {

    var hallCount = "@Model.EventSchedules.Actual().Hall.Levels.Count";
    var level; 
    //other code

}));

我只想在if语句为时绑定true

if("@Model.EventSchedules.Count" !== "0")
{
 $(window).bind("scheduleComplete", (function (event, params) {

        var hallCount = "@Model.EventSchedules.Actual().Hall.Levels.Count";
        var level; 
        //other code

    }));
}

Model.EventSchedules.Countequals 0,但其中的代码仍然运行。
哪里有问题?

谢谢。

4

2 回答 2

1

我会向您推荐一种替代方法:

<script type="text/javascript">
    var count = @Html.Raw(Json.Encode(Model.EventSchedules.Actual().Hall.Levels.Count));
    if(count > 0) {
        $(window).bind("scheduleComplete", (function (event, params) {
            //other code
        }));
    }
</script>

将呈现为:

<script type="text/javascript">
    var count = 5;
    if(count > 0) {
        $(window).bind("scheduleComplete", (function (event, params) {
            //other code
        }));
    }
</script>
于 2012-05-09T09:41:37.630 回答
0

您正在使用需要完全匹配的 !== 运算符。如果您使用 != 它将使用类型强制,这可能会使其工作。如果是这样,您就知道存在打字问题。也许尝试不带引号并从那里开始工作。

您也可以在服务器端进行检查,仅在需要时输出 JS。

于 2012-05-09T09:32:08.737 回答