今儿遇到个问题,太邪门儿了。给大家分享一下。问题背景是这样的:在网上找到一个显示AD下组织机构的方法,就是使用Microsoft.SharePoint.Portal.WebControls下一个用户控件,叫做ProfileBrowser,他以Silverlight的方式把AD组织智能地显示出来,效果还挺不错的。
实现方法如下:
首先在页面里注册控件:
<%@ Register TagPrefix="SPSWC" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
然后调用控件:
<asp:Panel ID="panelUsers" runat="server"> <div class="orgBrowser" id="sl_org"> <SPSWC:ProfileBrowser ChromeType="None" runat="server" /> </div> </asp:Panel>
显示结果如下(IE和Chrome):
但是在Firefox里就始终不能显示,这时,我怀疑是不是我的Firefox版本不支持Silverlight,我就做了个Silverlight小程序测试一下,咦?可以的呀,Firefox是能正常显示Silverlight应用程序的呀,于是我就陷入了无限的纳闷儿中,一直纳闷儿了一个上午....
最后,我终于把问题解决了,代码如下:
<asp:Panel ID="panelUsers" runat="server"> <div class="orgBrowser" id="sl_org"> <SPSWC:ProfileBrowser ChromeType="None" runat="server" /> </div> </asp:Panel>
就在用户控件的前面加了个空格符号,居然解决了这个头疼的问题,于是Firefox能正常显示了,不过我还是没搞清楚到底怎么回事儿! :(