科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道MOSS 2007基础:开发自定义WebPart(2)

MOSS 2007基础:开发自定义WebPart(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

前面介绍了WSS v3中WebPart的基本情况。本文将介绍创建ASP风格的WebPart。最简单的步骤为创建一个类继承自System.Web.UI.WebControls.WebPart类,覆盖(override)方法RenderContents。

作者:sunmoonfire 来源:blog 2007年9月3日

关键字: SharePoint2007 SharePoint MOSS WebPart Office

  • 评论
  • 分享微博
  • 分享邮件

4、继承自类System.Web .UI.WebControls.WebPart

将Class1.cs重命名为SimpleWebPart,并添加继承System.Web.UI.WebControls.WebParts来创建ASP风格的WebPart。代码如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls.WebParts;
namespace TestWebParts
{
    
public class SimpleWebPart:WebPart
    {
        
protected override void RenderContents(HtmlTextWriter writer)
        {
            writer.Write(
this.Context.User.Identity.Name);

        }
    }
}

我们必须重写RenderContents方法。如上所示。RenderContents方法将根据其参数writer所指定的内容来展示WebPart。writer参数是一个HtmlTextWriter,用于描述将要显示到客户端浏览器中的HTML内容。

如果我们的WebPart中包含有子控件,我们还需要在这里调用基类的RenderContents方法或者在我们想要显示子控件的地方调用基类的RenderChildren方法,将子控件的内容输出到writer。

上面的WebPart定义说明该代码并不依赖于Microsoft.SharePoint.dll。所以它既可以被用在ASP.NET应用程序中,也可以用在WSS v3站点。不过在大多数情况下,我们还是要在自定义WebPart中添加对Microsoft.SharePoint.dll的引用,因为这样就可以使用WSS v3提供的对象模型了。

除支持ASP风格的WebPart外,WSS v3同时被设计为可以支持WSS v2环境下创建的WebPart。旧的WSS风格WebPart继承自Microsoft.SharePoint.dll中的WebPart基类,它是定义在Microsoft.SharePoint.WebPartPages命名空间下的。

在WSS v2中的Microsoft.SharePoint.dll的WebPart类是继承自ASP.NET的Control类。如下图所示。

但是,同时我们也可以看到,WSS v3中Microsoft.SharePoint.dll的WebPart类被修改为继承自ASP.NET的WebPart类。这种将一个组件的基类改为较新的版本的技术(versioning technique)就是rebasing。对Microsoft.SharePoint.dll中的WebPart类的rebasing是使WSS v3环境支持老的WSS风格WebPart的关键。

如果查看一个WSS v3应用程序里的标准的Web.config文件,我们将发现里面包括了重新定向WSS v2的Microsoft.SharePoint.dll到WSS v3版的Microsoft.SharePoint.dll的配置元素。这个重定向与上面所说的rebasing配合起来共同保障了WSS v2环境下所写的WebPart的Dll运行在WSS v3环境中,而不必做任何的改动。

因此,如果我们想要将一个WSS v2的WebPart项目转移到Visual Studio 2005中,我们可以使用与从前相同的方式继续扩充我们的代码,还是可以继续运行。同时,在转移到Visual Studio 2005时,我们还可以选择将项目中对Microsoft.SharePoint.dll的引用切换到WSS v3的版本。这样,该项目的WebPart就会转到上图右侧的WSS v3体系中。
(下一篇日志将继续介绍部署自定义WebPart)

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章