为什么contentItem.value为null- Lightswitch

时间:2015-09-06 04:26:28

标签: visual-studio-lightswitch lightswitch-2013

我想基于属性隐藏控件。所以我像这样处理PostRender事件 Lightswitch Printscreen

但我得到的是contentItem.value = null

如何访问原始对象,以便检查隐藏控件的属性?

由于

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,似乎在呈现控件时,其值尚未更新。

由于这不是一个不常见的情况,处理此问题的常用方法是使用LightSwitch的dataBind函数,该函数将在您的示例中使用如下: -

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) {
    // Write code here.
    contentItem.dataBind("value", function (value) {
        if (value.Documento.id != 1) {
            $(GUIAItem_pagadoEntrega).addClass(oculto);
        }
    }
}

此外,如果value.Documento引用相关实体,则应使用以下方法确保其值已被检索: -

myapp.ConfirmarRecepcion.GUIAItem_pagadoEntrega_postRender = function (element, contentItem) {
    // Write code here.
    contentItem.dataBind("value", function (value) {
        if (value) {
            value.getDocumento().then(function (documento) {
                if (documento && documento.id != 1) {
                    $(GUIAItem_pagadoEntrega).addClass(oculto);
                }
            });
        }
    }
}