Sharepoint 无法从InfoPath 2010人员选取器控件检索值

Sharepoint 无法从InfoPath 2010人员选取器控件检索值,sharepoint,infopath,Sharepoint,Infopath,InfoPath 2010中的人员选取器控件有问题。我输入一个名称,它被解析并显示在控件上。到目前为止,一切顺利。现在我尝试检索控件提供的AccountId的值。当我在本地预览表单时,它可以工作,但当我将表单发布到SharePoint(这是一个启用浏览器的表单)时,AccountId将返回为空白 下面是我正在使用的XPath。(我尝试添加索引,如在“Person[1]”中,但InfoPath也不喜欢这样做。此外,我限制了控件,以便只能输入1个用户。) /my:myFields/my:Approv

InfoPath 2010中的人员选取器控件有问题。我输入一个名称,它被解析并显示在控件上。到目前为止,一切顺利。现在我尝试检索控件提供的AccountId的值。当我在本地预览表单时,它可以工作,但当我将表单发布到SharePoint(这是一个启用浏览器的表单)时,AccountId将返回为空白

下面是我正在使用的XPath。(我尝试添加索引,如在“Person[1]”中,但InfoPath也不喜欢这样做。此外,我限制了控件,以便只能输入1个用户。)

/my:myFields/my:ApproverGroup/my:Analyst/pc:Person/pc:AccountId

如果我尝试获取DisplayName或AccountType,则会得到相同的结果——在预览中有效,但在发布时无效。我正在发布到我的本地SharePoint服务器(和我开发的是同一台机器)


有什么想法吗?提前谢谢。

我想好了。事实证明,在数据源反映在人员选择器控件中输入的值之前,需要回发。我不知道为什么会这样,但它不知怎么地使控件正常工作。此回发可以在表单加载时执行一次,然后人员选取器将在此之后工作。所以我的下一个问题是寻找一种方法来强制在表单加载时进行回发。此外,人员选择器莫名其妙地没有像文本框那样包含“回发设置”属性。我求助于在表单的第一个文本框上启用回发设置为“始终”,希望用户在向下滚动到People Picker控件之前输入一个值。这是一个可怕的黑客,但到目前为止我唯一的解决办法。如果有人能在这里提供更好的答案,请这样做