3

我想让 CAML 查询半智能——因为我可以给它一个标题(这是最终用户看到的),它会查找适当的“标题”作为 CAML 查询的一部分传递:

var caml = "<OrderBy><FieldRef Name='" + field + "'/></OrderBy>";

看起来我可以使用对象模型遍历列表的 Fields 集合,然后关闭 Title 属性以与用户看到的内容进行比较。我的问题在于静态名称与内部名称的用法。我的直觉 + MSDN 文档似乎表明 InternalName 是在上述代码中使用和替换字段的正确属性- 特别是因为 InternalName 无法修改。

任何人都可以阐明这一点吗?

4

1 回答 1

7

在 msdn 论坛上查看这个问题:

名称比。静态名称

在 CAML 中创建站点列时,只需要映射到对象模型中 SPField.InternalName 的“名称”属性,您不必设置 StaticName 属性。因此 SPField.InternalName 和 SPField.StaticName 将返回相同的值。但是如果在 CAML 中设置 StaticName 属性,SPField.InternalName 将返回 Name 属性中指定的值,SPField.StaticName 将返回 StaticName 属性中指定的值。

于 2009-07-09T21:55:03.923 回答