自定义webpart显示Lync状态球
LYNC状态球显示
这边是用户集来显示状态球,我小改了一下,把用户集合改成单个用户
public string GetPresenceHTMLFromUVC1(SPSite thisSite, SPFieldUserValue spuv)
{
StringBuilder abc = new StringBuilder("");
SPSecurity.RunWithElevatedPrivileges(delegate
{
using (SPWeb thisWeb = thisSite.RootWeb)
{
string sipAddress = "";
SPListItem user = thisWeb.SiteUserInfoList.GetItemById(spuv.LookupId);
if (user["EMail"] != null)
{
sipAddress = "sip:" + user["EMail"].ToString();
}
abc.Append(String.Concat(
"<img border=\"0\" height=\"12\" src=\"/_layouts/images/imnhdr.gif\" onload=\"IMNRC('"
, sipAddress
, "')\" ShowOfflinePawn=\"1\" style=\"padding-right: 3px;\" id=\"PresencePawn"
, sipAddress
, "\" alt=\"presence pawn for "
, sipAddress
, "\"/>"
, spuv.User.Name
));
}
});
return abc.ToString();
直接传单个用户,省去遍历用户的ID
我这边SIP用的是EMAIL的地址,而SIP为空,这边取的是EMAIL的值
效果如下(IMNRC这个只在IE中有效):