2009年3月17日星期二

使用SmartPart将UserControl引入SharePoint

SmartPart是一个SharePoint的Feature, 它可以使我们开发的Web UserControl直接在SharePoint 2007中的Web page中,以Web Part的形式显示,真是天才一样的作品,我认为都应该作为SharePoint的核心功能,否则开发SharePoint的Web Part实在是一件非常头痛的事情。

首先下载SmartPart安装包,然后上传至服务器,运行Setup.exe。在运行过程中可以选择要开启这个feature的站点。成功安装后,去相应的站点的Site Collection Feature中,把return of smartpart的feature active,就可以使用了。

首先,我们用VS2008创建一个Web usercontrol,它一共包含三个文件:
  • WebUserControl1.ascx
  • WebUserControl1.ascx.cs
  • WebUserControl1.ascx.designer
其中,一定要在WebUserControl1.ascx中做两处修改:
  1. 将<%@ Assembly Name="ReturnOfSmartPart, Version=1.3.0.0, Culture=neutral, PublicKeyToken=9f4da00116c38ec5" %>加入顶部,引用assembly。
  2. 修改<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs",将CodeBehind换成CodeFile
  3. 在类声明(public partial class WebUserControl1 : System.Web.UI.UserControl)前面加入:System.ComponentModel.Description("WebUserControl1")]。这样可以使SmartPart寻找的UserControl列表中显示自定义的User Control名称。
做了这两个修改后,在SharePoint的站点下,如VirtualDirectory/8080/下面,创建一个UserControls目录,这点非常重要,名字绝对不能有差。接着将上面的三个文件,直接放入这个文件夹内就可以了。

使用方法:
  1. 进入SharePoint的相应站点,Edit Page -> Add Webpart -> Add SmartPart Webpart
  2. Modify Shared Web Part
  3. 选择WebUserControl1对应的Webpart即可。

没有评论:

发表评论