运行 JavaScript 块取决于 ViewBag 值

Run JavaScript block depending on ViewBag value

我正在尝试 运行 一段 JavaScript 代码,但前提是 ViewBag 值等于 null。下面是一个例子:

<script type="text/javascript">
    var defDate = @ViewBag.EndDate;
    if (defDate == null)
    {
        $('#dt2').datetimepicker({
            locale: 'en-GB',
            format: 'L',
            showClear: true
        });
    }

    else
    {
        $('#dt2').datetimepicker({
            defaultDate: defDate,
            locale: 'en-GB',
            format: 'L',
            showClear: true
        });
    }

</script>

但是,这似乎不起作用,因此我们将不胜感激任何帮助。

编辑:

我想我一开始就有 JavaScript 到 运行 的两个方块?我是否应该单独制作一个 运行 启动然后 运行 相关(非启动)功能 - 如果这有意义的话?

这里是根据要求初始化 ViewBag 的地方:

ViewBag.EndDate = endDateFilter;

您需要将 viewbag 值用引号引起来。尝试以下

<script type="text/javascript">
        var defDate = '@ViewBag.EndDate';
        if (defDate == '')
        {
            $('#dt2').datetimepicker({
                locale: 'en-GB',
                format: 'L',
                showClear: true
            });
        }

        else
        {
            $('#dt2').datetimepicker({
                defaultDate: defDate,
                locale: 'en-GB',
                format: 'L',
                showClear: true
            });
        }

    </script>

替换

(defDate == null)

(defDate.length < 1)