我想让一个caml查询半智能化,因为我可以给它一个标题(这是最终用户看到的),它会查找适当的“标题”,作为caml查询的一部分传递:
var caml = "<OrderBy><FieldRef Name='" + field + "'/></OrderBy>";
看起来我可以使用对象模型迭代列表的Fields集合,然后关闭title属性以与用户看到的内容进行比较。我的问题在于staticname和internalname的用法。我的直觉+MSDN文档似乎表明InternalName是使用和替换的正确属性 领域 在上面的代码中-特别是因为不能修改InternalName。
有人能解释一下吗?
在msdn论坛上查看此问题:
Name Vs. Static Name
在caml中创建站点列时,只需要映射到对象模型中spfield.internalname的“name”属性,不必设置staticname属性。相应的spfield.internalname和spfield.staticname将返回相同的值。 但是,如果在caml中设置staticname属性,spfield.internalname将返回name属性中指定的值,spfield.staticname将返回staticname属性中指定的值。