StaticName和InternalName之间的区别(在SPField类中)

时间:2009-07-09 21:34:04

标签: sharepoint moss wss caml

我想半智能地制作CAML查询 - 因为我可以给它一个标题(这是最终用户看到的)并且它查找相应的“标题”以作为CAML查询的一部分传递:< / p>

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

看起来我可以使用对象模型迭代列表的Fields集合,然后键入Title属性以与用户看到的内容进行比较。我的问题在于StaticName与InternalName的使用。我的内容+ MSDN文档似乎表明InternalName是在上面的代码中使用和替换 field 的正确属性 - 特别是因为无法修改InternalName。

有人能说清楚这个吗?

1 个答案:

答案 0 :(得分:7)

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

Name Vs. Static Name

  

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