演练:创建基本 Web 部件
上次修改时间: 2011年9月1日
适用范围: SharePoint Foundation 2010
本文内容
创建 Web 部件
添加 Web 部件属性
重写 Render 方法
部署并测试 Web 部件
本演练提供用于创建可添加到网页的基本自定义 Web 部件的步骤。它是一个简单的 Web 部件,允许用户定义要在 Web 部件内显示的自定义消息。此 Web 部件将从 Microsoft ASP.NET Web 部件类派生,这是 SharePoint Foundation 建议的做法。
有关 ASP.NET Web 部件的详细信息,请参阅以下 ASP.NET 文档:ASP.NET 快速入门教程(该链接可能指向英文页面)和 ASP.NET Web 部件控件。
先决条件
ASP.NET
Microsoft Visual Studio 2010 中的 SharePoint 开发工具
创建 Web 部件
创建 Web 部件
启动 Visual Studio 2010 中的 SharePoint 开发工具。
在"文件"菜单上,指向"新建",然后单击"项目"。
在"项目类型"中的"Visual Basic"或"C#"下,选择"空白 SharePoint 项目"。
键入 Sample.DisplayMessage 作为项目名称。单击"确定"。
在"SharePoint 自定义向导"中,选择"部署为沙盒解决方案"。单击"完成"。
在"解决方案资源管理器"中,右键单击"Sample.DisplayMessage"项目,并依次选择"添加"和"新项"。
在"添加新项目"对话框中,选择"Web 部件"模板并键入 DisplayMessageWebPart 作为"名称"。单击"添加"。
添加 Web 部件属性
在添加新 Web 部件后,请添加可针对 Web 部件进行个性化设置的属性。此 Web 部件属性决定了 Web 部件内呈现的文本。它基于单个用户进行个性化设置。
备注
有关自定义和个性化设置的详细信息,请参阅 Web 部件个性化设置。
对于基于 ASP.NET Web 部件页基类的 Web 部件,对用于可自定义属性的标记的命名方式与基于 WebPart 基类的 Web 部件不同。以下列表对其中的每一个属性进行了说明:
WebBrowsableAttribute 属性可确保自定义属性在 SharePoint Foundation 的编辑工具窗格中呈现。
WebDescriptionAttribute 属性可显示一个用于在用户编辑自定义属性时为其提供帮助的工具提示。
WebDisplayNameAttribute 属性可显示自定义属性的显示名称。
PersonalizableAttribute 属性可确定对自定义属性所做的更改会影响所有用户还是单个用户。
创建 Web 部件属性
在 DisplayMessageWebPart 文件中,复制并粘贴下列代码以创建基本可自定义属性。
private string customMessage = "Hello, world!"; public string DisplayMessage { get { return customMessage; } set { customMessage = value; } }
Private customMessage As String = "Hello, world!" Public Property DisplayMessage() as String Get Return customMessage End Get Set(ByVal value as String) customMessage = value End Set End Property
然后,在公共声明上方添加以下标记以允许基于每个用户的更改:
[WebBrowsable(true), WebDescription("Displays a custom message"), WebDisplayName("Display Message"), Personalizable(PersonalizationScope.User)]
<WebBrowsable(True), _ WebDescription("Displays a custom message"), _ WebDisplayName("Display Message"), _ Personalizable(PersonalizationScope.User)> _
现在,您已经创建了可进行个性化设置的 Web 部件属性。
重写 Render 方法
此时,您必须向 Web 部件添加功能。通过改写 Control.Render 方法,可以告知 Web 部件在页面被访问时要执行什么操作。在此示例中,Web 部件将呈现用户定义的文本。
重写 Render 方法
在 DisplayMessageWebPart 文件中,复制并粘贴下列代码以改写 Render 方法。
protected override void Render(System.Web.UI.HtmlTextWriter writer) { writer.Write(DisplayMessage); }
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter) writer.Write(DisplayMessage) End Sub
部署并测试 Web 部件
部署和测试 Web 部件
按 F5 部署 Web 部件。
页面在浏览器中打开时,单击"页面"选项卡上的"编辑"按钮,以将页面置于编辑模式。
在"编辑工具"上下文组中的"插入"选项卡上,单击"Web 部件"按钮。
在"类别"列表中,选择"自定义",然后在 Web 部件列表中选择"DisplayMessageWebPart"。单击"添加"。该 Web 部件将显示在页面中,并且显示文本"Hello, world!"。
若要修改显示在 Web 部件上的文本,请在页面上选择 Web 部件,打开"Web 部件工具"上下文组中的"选项"选项卡,然后单击"Web 部件属性"按钮。
在"DisplayMessageWebPart"属性窗格中,展开"杂项"类别并更改"显示消息"值。单击"应用"。
此时,Web 部件将显示 Web 部件内用户定义的值。