SP2010人员或组列表字段中的“正确”方法将数字用户ID与“id; #name”值分开?

时间:2013-09-20 21:16:53

标签: visual-studio-2010 sharepoint-2010

这适用于SharePoint 2010,我使用的是Visual Studio 2010.我有一个列表。在列表中有一个“人员或组”字段,其成员是从一个组中提取的。所以,有人从列表中添加一个项目,并选择我的“Reviewer”字段中显示的名称。没问题。

在VS2010中(这是一个工作流程,fwiw),我有这个......

SPListItem listItem = spList.GetItemById(listItemId);
String reviewerUsername = listItem["Reviewer"].ToString();

但是如果我尝试使用该reviewerUsername值来填充SPUser,它就会失败,并且其中的各种其他攻击也会失败。

使用调试器,我可以看到 reviewerUsername =“ 23;#Doe,John

的值

我对SPUser对象的看法显示我可以使用GetUserById()并使用“23;#Doe,John”中的“23”来获取用户,并且可以对此方法进行测试。

所以我的问题是,为了与主题保持一致,是否有一个特定的方法(如函数中)我应该用来从“23;#Doe,John”字符串中提取数字ID?

1 个答案:

答案 0 :(得分:1)

只需使用普通字符串方法Split将字符串拆分为“;#”并获取第一部分即ID

前:

string reviewerID = reviewerUsername.Split(new string[] { ";#" }, StringSplitOptions.None)[0];