Sharepoint 向自定义web部件添加状态指示器

Sharepoint 向自定义web部件添加状态指示器,sharepoint,sharepoint-2007,web-parts,Sharepoint,Sharepoint 2007,Web Parts,我有一个自定义web部件,它正在生成一些用户数据。我已经添加了适当的代码来输出标准的状态图标和菜单,但是这相当稳定 我的web部件的呈现html如下所示: <span> <a href="http://mysite/Person.aspx?accountname=USERID">USERNAME</a>&nbsp; <img border="0" height="12" width="12" src="/_layouts/i

我有一个自定义web部件,它正在生成一些用户数据。我已经添加了适当的代码来输出标准的状态图标和菜单,但是这相当稳定

我的web部件的呈现html如下所示:

<span>  
   <a href="http://mysite/Person.aspx?accountname=USERID">USERNAME</a>&nbsp;   
   <img border="0" height="12" width="12" src="/_layouts/images/blank.gif" onload="IMNRC('USEREMAIL')" id="imnUSERID" ShowOfflinePawn="1" />  
</span> 
显然要替换用户ID、用户名、用户电子邮件等

问题有两方面

1在IE7中,无法检索状态信息。菜单显示正确,但图标不显示,当您将鼠标悬停在间隙上方时,下拉菜单不提供IM设置

2在IE8 RC1中,状态信息正确返回并显示图标,但下拉列表显示在图标上方几英寸处

任何关于这些问题的帮助,或关于向自定义web部件添加状态的其他提示,都将得到极大的欢迎

最新进展 -将网页添加到IE7的“受信任站点”中-没有任何作用 -IE8的兼容性视图没有区别。 -更改为id=CSRP\U id,类型=sip 根据建议将代码更改为以下内容:


上述更新均未成功。

首先,您必须消除样式问题还是javascript问题

如果所有的状态气泡都显示正确,那么请获取并尝试跟踪css。甚至改变网站的主题,看看你是否得到了不同的结果

这是我们的html,很好用

 <span>
 <img width="12" src="/_layouts/images/blank.gif" onload="IMNRC('[USERMAIL]')" id="IMID[GUID]" ShowOfflinePawn=1 alt="Presence bubble">[USERNAME]</span>
注:

[用户邮件]=显而易见 [用户名]=显而易见 [GUID]=随机GUID


还要注意格式不正确的img标记,没有结束/>只是>。我们使用它,因为这是SharePoint生成的html。请不要让我开始使用它。

我不知道,但img ID标记是常量,还是动态创建的。对常量ID有问题,但无法判断它是否是相同的东西。No,ID是固定的,尽管我也尝试了基于用户ID的动态ID,但也无法正常工作。我注意到,使用固定ID时,页面上只有第一个项目会更新人员详细信息。谢谢Nat,我注意到您再次使用了一种稍微不同的技术。那么,您是否建议我调整html以使用旧的HTML4样式未关闭的img标记?很难知道。我不是css vs浏览器方面的专家,试一试,看看效果如何。仅供参考,当我将鼠标悬停在web部件中的任何元素上时,我在显示指示器时遇到了问题。如上图所示,将IMG包含在一个范围内,修复了我的问题。没有洞察到原帖子的问题;HTML看起来和我的一样,在IE7/8中呈现良好。
 <span>
 <img width="12" src="/_layouts/images/blank.gif" onload="IMNRC('[USERMAIL]')" id="IMID[GUID]" ShowOfflinePawn=1 alt="Presence bubble">[USERNAME]</span>