我正在为Sharepoing 2010制作一个简单的生日日历webpart。
我需要遍历网站的所有用户,并在所述日期显示有生日的人。我需要按名字的字母顺序显示用户。
我可以通过以下方式遍历用户列表:
SPSite currentSite = ...
ServerContext ospServerContext = ServerContext.GetContext(currentSite);
UserProfileManager ospUserProfileManager = new UserProfileManager(ospServerContext);
foreach (UserProfile ospUserProfile in ospUserProfileManager) { ... }
但是,我无法控制配置文件的顺序。有没有内置的方法来通过一些简单的规则来命令配置文件,或者我是否必须创建一个Dictionary(字符串,UserProfile),从UserProfileManager填充它,然后按其键对它进行排序,然后为其成员做foreach? / p>
谢谢!
答案 0 :(得分:3)
使用块添加:
using System.Linq;
创建用户个人资料的集合:
var collection = new List<UserProfile>();
填充它:
foreach (UserProfile ospUserProfile in ospUserProfileManager)
{
collection.Add(ospUserProfile);
}
然后sort it:
var sorted = collection.OrderBy(p => p.PropertyToSort);