Building Web Parts for SPS读书笔记(1)
Web Part Library项目至少包含如下类型的文件:
(1)一个或多个 (*.cs or *.vb)包含继承Microsoft.SharePoint.WebPartPages.WebPart 的类文件。WebPart扩展 System.Web.UI.Control 类,WebPart是拥有扩展行为和状态的Server control。
(2) 每一个Web Part类必须有一个对应的dwp文件。dwp是一个XML文件,包含描述Web Part的一些具体信息,如title和description等等,更重要的是包含web part assembly的信息。dwp文件需要放置在Web Part library目录,这样web part对portal用户可见。
(3) Web Part项目也需要包含一个manifest.xml文件,这个文件在部署Web Part时会使用到。它也包含需要并入到WSS或SPS站点的web.config文件的一些配置信息(如标识该Web Part为Safe Control)。
Web Parts开发
protected override void RenderWebPart(HtmlTextWriter output)
{
}
重载RenderWebPart方法,你可以通过使用RenderWebPart在Portal页面产生表示Web Part的HTML。
protected override void CreateChildControls()
{
}
一个更好的方法是为Web Part control创建多个child controls,并让每一个child control生成自身的HTML。通过这种方法,可以为用户必要动作(actions)关联相应的事件句柄(event handler)。
在server control通过重载CreateChildControls方法来创建child controls。
部署Web Part
可以手动部署或通过STSADM.EXE工具自动部署Web Part。SPS使用如下目录:
(1) Your assembly (web part assembly) can be dropped in the GAC or stored as a private assembly in the /bin directory.
(2) Your DWP files need to be dropped in the /wpcatalog folder
在使用Web Part时,可以通过访问virtual server library/SPS来托放Web Part到SPS页面。
(3) Your resources should be placed in the /wpresources folder
(4) And finally, the web.config of the SharePoint site should contain an entry specifying that your Web Part is a safe control to be used on the portal pages.
STSADM.EXE工具可以为我们做上述工作,不过需要先创建cab文件,Stsadm.exe使用示范:
Stsadm.exe -o addwppack -f YourWebPartSetup.cab
References:
1. Patrick Tisseghem, Building Web Parts for Microsoft SharePoint Products and Technologies, Part I - The Basics, http://www.microsoft.com/belux/nl/msdn/community/columns/tisseghem/webparts1.mspx
2. Patrick Tisseghem, Building Web Parts for Microsoft SharePoint Products and Technologies