Monday, June 22, 2009

Webparts

文中大部分内容来自SharePoint Services 3.0 SDK

有两种方式:

一种方式是创建一个继承自System.Web.UI.WebControls.WebParts.WebPart的Web Part(SharePoint SDK中是推荐使用这种方式的),这个WebPart不仅可以在SharePoint Services中使用,也可以用于其他ASP.net程序中;

另一个方式是创建Windows SharePoint Services WebPart 类,也就是继承自Microsoft.SharePoint.WebPartPages.WebPart。这个WebPart只能在SharePoint Services中使用。



一、首先介绍第一种方式:创建一个基本的Web Part



Step 1:创建一个ASP.Net Web Part assembly.

启动Visual Studio 2005

创建一个c# class library项目,项目名称假定为HelloWorldWebPart。

添加引用System.Web。

在.cs文件中,将下面的代码复制过来。
using System;using System.Text;using System.Web.UI.WebControls.WebParts;namespace MyWebPartLibrary { public class HelloWorldWebPart : WebPart { protected override void Render(System.Web.UI.HtmlTextWriter writer) { writer.Write("Hello, World!"); } }}注意此处使用的是System.Web.UI.WebControls.WebParts

现在可以编译此解决方案,会生成一个dll文件。



Step 2:将生成的dll文件放到bin或GAC(global assembly cache, C:\WINDOWS\assembly)中



Bin目录是指SharePoint web application 跟目录下的bin目录,如:C:\Inetpub\wwwroot\wss\VirtualDirectories\80\bin。



Step 3:(可选)如果把dll放在bin目录下,设置安全属性(security attributes)



找到SharePoint web application根目录下的web.config文件,修改trust level属性,如



Step 4:将生成的Web Part添加到SafeControls列表中



打开SharePoint web application根目录下的web.config文件,在SafeControls中添加下面的语句:



注意此处,一定要仔细,我在测试时,把Assembly写成了Assemply,结果浪费了我几个小时去找错误。

关于如何查看PublickeyToken,可以网搜一下,最简单的方式是添加到GAC中,就可以直接查看了。

强命名可以直接右键单击工程,然后选择Signing标签,选中sign the assembly,然后新建一个强名称,如key.snk。



Step 5:创建.webpart文件



打开,其中myserver是SharePoint站点部署的服务器的名称。

此时你会看到MyWebPartLibrary.HelloWorldWebPart出现在列表中,在它前面的check box中打勾。

最后点击Populate Gallery,如果不出什么问题,Web Part应该已经添加到Team Site Gallery中。



Step 6:将Web Part添加到SharePoint站点中的页面上



导航到SharePoint站点

在要添加Web Part的页面中,点击Site Actions并选择Edit Page。

点击Add a Web Part,在随后出现的对话框中,点击底部的Advanced Web Part gallery and options。

打开Team Site Gallery,将HelloWordWebPart拖到页面上。
-

0 Comments:

Post a Comment

<< Home