Question

I am trying to show my colleagues in my custom webpart. So I adding presence Icon to each of colleague. It is showing fine when colleague is 1 only. If We have colleague more than 1 Presence Icon showing for 1st colleague you can dropdow that Icon also but other colleagues it is show simple Presense Icon (grayout) (not drop down is comming).

code is like this.

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

Was it helpful?

Solution

Your img needs to have a unique id set on it. It looks like you were almost there, by assigning it the value "IMID[GUID]"

Instead try:

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>";
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top