这适用于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?
答案 0 :(得分:1)
只需使用普通字符串方法Split
将字符串拆分为“;#”并获取第一部分即ID
前:
string reviewerID = reviewerUsername.Split(new string[] { ";#" }, StringSplitOptions.None)[0];