当系统提示“属性不能为0,属性……”
当我将开发好的webpart部署到imd.test.net/blog上后,一个错误出现了。唯一值怀疑的是在获取创建者姓名时,我用了一个数组下表来获取的(其他的都是用字符串来获取的,即标题,用的是item["标题"],正文用的是"正文",但是由于这个blog中创建时间和创建者姓名用了同一名字“创建者”,当我用item["创建者"]获得的是创建时间而不是创建者的姓名,所以,我用item[4]来获取创建者的姓名)。于是,我从源代码中注册了这行代码,结果,错误就消失了。
错误的地方找到了,但是,使什么原因导致出错呢,我又想到,在这个变量获得值后,我有一个截取姓名的操作,因为在mediamake上,通过item[4]获得的是1;#test\zhangsan,为了好看,我用str.substring(12,str.length-12)截掉了前面的部分。通过错误分析,这个地方很有可能是由于计算过程引起的。所以,我就直接将该值显示出来,而不作截取操作,事实表明,就是因为截取操作引起。
更重要的是,在mediamake上,获取的创建者是用域帐户的形式表现的“test\zhangsan”,在这个站点上却是用中文姓名“张三”,那怪会出错。
为什么?
我没有去验证它,估计是因为在这个站点上我配备了完整的用户配置文件,所以,能够直接识别出用户的中文姓名。