在MOSS页面中使用自定义控件---以轮转显示图片为例

经常有朋友问怎么MOSS的页面上使用自定义的用户控件?通常我们使用的都是Webpart,这也是SharePoint开发推荐的一种方式,但是有些时候,也需要使用一些自定义控件,本文就以前段时间我做的MOSS首页轮转显示图片库中图片的自定义控件为例(见http://bbs.winos.cn/viewthread.php?tid=33985&highlight=),来抛砖引玉了。
    SharePoint服务器控件的开发跟普通的asp.net服务器控件没有区别,只不过是在部署的时候需要进行一些特别的配置。

1.下载附件中的示例自定义控件,解压后打开项目TestWebControlLibrary,在..\ TestWebControlLibrary\TestWebControlLibrary\bin\Debug路径下可以看到已生成的控件dll    TestWebControlLibrary.dll和脚本文件JScript1.js,将dll添加到GAC中(C:\WINDOWS\assembly),将脚本文件JScript1.js拷贝到C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin(我使用的是80端口的站点进行测试且系统盘为C盘,请根据实际情况自行修改路径)。
2.使用reflector取得控件信息,如果直接使用已生成的DLL ,为"TestWebControlLibrary, Version=1.0.3212.28585, Culture=neutral, PublicKeyToken=f030a43b092aca78”,命名空间是TestWebControlLibrary。
3.打开C:\Inetpub\wwwroot\wss\VirtualDirectories\80\下的web.config(根据实际情况选择相应路径),在<SafeControls></SafeControls>中添加一行:
<SafeControl Assembly="TestWebControlLibrary, Version=1.0.3212.28585, Culture=neutral, PublicKeyToken=f030a43b092aca78" Namespace="TestWebControlLibrary" TypeName="*" Safe="True" />
4.创建一个测试页面。网站操作----创建------空白页,会弹出RTF编辑器,我们用不到,点击取消,在这个页面中,我们使用的内容占位控件是PlaceHolderMain,删除其中的webpartzone,即将<td></td>之间的内容删除,删除后占位控件内容应如下:
<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
                <table cellpadding="4" cellspacing="0" border="0" width="100%">
                                <tr valign="top">
                                        <td width="100%">
                                        </td>
                                </tr>
                </table>
</asp:Content>
5.在测试页面中注册用户控件。若直接使用已生成的dll,请在页面上方添加:
<%@ Register Assembly="TestWebControlLibrary, Version=1.0.3212.28585, Culture=neutral, PublicKeyToken=f030a43b092aca78" Namespace="TestWebControlLibrary" TagPrefix="ccimage" %>
6.在最顶级站点创建我们测试用的图片库。附件image是我测试用的几张图片。切记,若使用自带的dll,一定要在最顶级网站里创建图片库,因为我代码里写死了路径,当然你可以随便修改。
7.在测试页面中使用自定义控件。在上面占位控件PlaceHolderMain <td></td>之间添加:
<ccimage:WebCustomControl1 ID="myimage" runat="server" ImagesUrl="ccimage"></ccimage:WebCustomControl1>
其中ImageUrl指向你创建的图片库名字,我的为ccimage。
8.浏览测试页面,你就可以看到效果了。控件会轮转显示图片库中的所有图片。关于控件的详细信息,请参考  MOSS首页轮转显示图片库中图片。

TestWebControlLibrary.rar         images.rar

本文转载自:在MOSS页面中使用自定义控件---以轮转显示图片为例

posted @ 2009-11-03 17:09  冷月孤星  阅读(666)  评论(0编辑  收藏  举报