Значок присутствия отображается только от первого лица - PullRequest
1 голос
/ 07 апреля 2010

Я пытаюсь показать моих коллег в моей пользовательской веб-части. Поэтому я добавил присутствие Icon каждому из коллег. Это хорошо, когда коллега только 1. Если у нас есть коллега более 1 Значок присутствия, показывающий для 1-го коллеги, вы также можете бросить эту иконку, но другим коллегам она показывает простой значок присутствия (серого цвета) (не выпадающий список идет).

код такой.

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

1 Ответ

3 голосов
/ 07 апреля 2010

Для вашего img должен быть установлен уникальный идентификатор. Похоже, что вы были почти там, присвоив ему значение "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>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...