最初の人のために示すプレゼンスアイコン
-
24-09-2019 - |
質問
私は私のカスタムWebパーツに私の同僚を表示しようとしています。私は同僚のそれぞれにプレゼンスアイコンを追加するようにします。同僚が1のみである場合には罰金を示しています。私たちは、より多くの1以上の同僚をお持ちの場合 あなたもアイコンが、他の同僚は、それはショーの簡単なPresenseアイコン(グレーアウト)であることをdropdowできる第一の同僚のために示すプレゼンスアイコン(ドロップダウンではないが来ている)。
コードは次のようである。
private static Panel GetUserInfo(UserProfile profile,Panel html, int cnt)
{
LiteralControl imnrc = new LiteralControl();
imnrc.Text = "<span style=\"padding: 0 5px 0 5px;\"><img border=\"0\" valign=\"middle\" height=\"12\" width=\"12\" src=\"/_layouts/images/imnhdr.gif\" onload=\"IMNRC('" + profile[PropertyConstants.WorkEmail].Value.ToString() + "')\" ShowOfflinePawn=1 id=\"IMID[GUID]\" ></span>";
html.Controls.Add(imnrc); html.Controls.Add(GetNameControl(profile)); //html.Controls.Add(new LiteralControl("<br>"));
return html;
}
private static Control GetNameControl(UserProfile profile)
{
//bool hasMySite = profile[PropertyConstants.PublicSiteRedirect].Value == null ? false : true;
bool hasMySite =string.IsNullOrEmpty(profile.PublicUrl.ToString()) ? false : true;
string name = profile[PropertyConstants.PreferredName].Value.ToString();
if (hasMySite)
{
HyperLink control = new HyperLink();
control.NavigateUrl = String.IsNullOrEmpty(profile.PublicUrl.ToString()) ? null : profile.PublicUrl.ToString();
control.Style.Add("text-decoration","none");
control.Text = name;
return control;
}
else
{
LiteralControl control = new LiteralControl();
control.Text = name;
return control;
}
}
http://i700.photobucket.com/albums/ww5 /vsrikanth/presence-1.jpgする
解決
あなたのIMGは、その上に一意のIDが設定されている必要があります。あなたはそれに値を割り当てることによって、ほとんどがあったように見えます「IMID[GUID]
」
の代わりにしようとします:
imnrc.Text = "<span style=\"padding: 0 5px 0 5px;\"><img border=\"0\" valign=\"middle\" height=\"12\" width=\"12\" src=\"/_layouts/images/imnhdr.gif\" onload=\"IMNRC('" + profile[PropertyConstants.WorkEmail].Value.ToString() + "')\" ShowOfflinePawn=1 id=\"IMID" + Guid.NewGuid().ToString() + "\" ></span>";
所属していません StackOverflow