JOJ
踏踏实实做人,认认真真做事!放纵自己就是毁灭自己!

这个问题不知道算不是微软sharepoint的bug,暂且说是一个bug吧.

该问题目前出现在列表为“文档库”类型, 普通列表未出现该问题;

新建一个文档库,DocLib , 新增一条测试数据;

测试:Description字段 ;提示不存在 去文档库添加一栏名为:Description

1

添加栏:Description, 奇怪的是 field=Description0 如果你不看这里,后面你就纠结吧.

3

这里你会发现一个很奇怪的问题;Description字段已经Update()成功,但是你不能item["Description"]来获取了. (难道只读?) ,用item.Fields.ContainsFieldWithStaticName("Description")来检测

是否含有这个字段, 结果为false, 但是对于自己新建的Description为什么又替换为了Description0呢? 表示很不解. 难道 Description和Description0雌雄同体?

6

5

 

那应该如何获取呢?  全部用Description0来获取, 早知道这样,我还不如写中文了, 编译过的字段总不会遇到这个问题吧. 哎.

 

7

 

其他: 之前用的reason作为字段, 出现这个问题,不抛错,反正就是获取不到值, 情况和上面一样,但是自己机子上测试这个字段没这个问题;Description存在这个问题.

新建栏的时候,注意这两个英语单词啊,最好舍弃不用他们, 系统保留? 这个问题排查的辛苦. 纠结的是用SPSiteDataQuery,如果你ViewFields = "<FieldRef Name=\"Description\" />而不是

ViewFields = "<FieldRef Name=\"Description0\" />是查询不到数据的. 有时候吧查询到了, 反正字段为空,但是你在列表查看他肯定不为空的. 感兴趣的大家可以测试下,不知道那些单词

还是地雷, 虽然Title为系统字段,但是我在新建一个Title时也为Title0, 但是他们两个是独立的字段.

切忌.

Technorati 标签: sp2010
Technorati 标签: spquery,spsitequery
posted on 2012-05-23 21:59  JoinJ  阅读(378)  评论(0编辑  收藏  举报