属性是这种形式的对象:
var attribute = {
AttributeId: attributeId,
EntityId: entityId,
AttributeDBName: attributeDbName,
AttributeDisplayName: attributeDisplayName,
IsSearchable: isSearchable,
IsDeleted: isDeleted,
IsVisible: isVisible,
AttributeTypeId: attributeTypeId,
Description: description,
IsSystem: isSystem,
IsActive: isActive,
IsUnique: isUnique,
IsRequired: isRequired,
IsPersistent: isPersistent,
DefaultValue: defaultValue
};
该属性随后将与网格ID一起传递给此函数:
function AddAttributeToGrid(attribute, gridId) {
console.log(attribute); //Works! Displays the attribute.
var id = a.attributeId;
console.log(id);//UNDEFINED? WHAT?
}
如果我创建一个全局变量(我们称之为'tempAttribute')并将其设置在AddAttributeToGrid中,如下所示:
function AddAttributeToGrid(attribute, gridId) {
tempAttribute = attribute
}
然后我可以访问tempAttribute的属性...
为什么我无法从属性中获取数据? 发生了什么事?
答案 0 :(得分:3)
attribute
的属性为AttributeId
,而不是attributeId
。
JavaScript区分大小写。
但是这假定您使用定义的attributeId
初始化您的对象以开始。这在你的代码中并不清楚。
答案 1 :(得分:1)
我认为你有
var id = a.attributeId;
而不是
var id = attribute.AttributeId;
在AddAttributeToGrid
函数定义