为 Web 部件或应用程序页创建可重用控件

在 Visual Studio,您可以创建自定义,可由在 SharePoint 中运行的应用程序页和 Web 部件使用的可重用控件。这些控件称作用户控件。有关用户控件的更多信息,请参见ASP.NET User Controls

创建用户控件

若要创建用户控件,请向一个**“空 SharePoint 项目”中添加“用户控件”**。有关更多信息,请参见如何:为 SharePoint 应用程序页或 Web 部件创建用户控件

添加**“用户控件”**项后,Visual Studio 将在您的项目中创建一个文件夹,然后向该文件夹中添加几个文件。下表介绍每个文件。

文件

描述

用户控件文件

定义用户控件。通过向此文件添加控件和标记设计用户控件。

代码文件

包含用户控件背后的代码。请向此文件添加用于处理事件的代码。

设计器代码文件

包含由设计器生成的代码,不应直接编辑此文件。

设计用户控件

可以使用 Visual Studio 中的 Visual Web Developer 设计器设计用户控件。此设计器会在您打开位于您的项目的用户控件文件并选择 设计 选项。有关使用此设计器的更多信息,请参见Visual Studio 11 beta 为 web 内容映射

使用用户控件

只有在将用户控件包括在应用程序页或 Web 部件中时,用户控件才会显示在 SharePoint 中。

若要将用户控件包含在应用程序页中,请将 @ Register 指令添加到应用程序页,然后在该页中的一个或多个内容占位符内声明该用户控件。有关如何在标准 ASP.NET 网页中完成此任务的示例,请参见How to: Include a User Control in an ASP.NET Web Page

若要在 Web 部件中包括某个用户控件,请将该用户控件添加到 Web 部件代码文件中的 Web 部件 Controls 集合。下面的示例将一个用户控件添加到 Web 部件的 Controls 集合。

<ToolboxItemAttribute(false)> _
Public Class VisualWebPart1
    Inherits WebPart

    Private Const _ascxPath As String = "~/_CONTROLTEMPLATES/VB/VisualWebPart1/VisualWebPart1UserControl.ascx"

    Public Sub New()
    End Sub

    Protected Overrides Sub CreateChildControls()
        Dim control As Control = Page.LoadControl(_ascxPath)
        Controls.Add(control)
        MyBase.CreateChildControls()
    End Sub

    Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
        MyBase.RenderContents(writer)
    End Sub

End Class
[ToolboxItemAttribute(false)]
public class VisualWebPart1 : WebPart
{
    private const string _ascxPath = @"~/_CONTROLTEMPLATES/CS/VisualWebPart1/VisualWebPart1UserControl.ascx";

    public VisualWebPart1()
    {
    }

    protected override void CreateChildControls()
    {
        Control control = this.Page.LoadControl(_ascxPath);
        Controls.Add(control);
        base.CreateChildControls();
    }

    protected override void RenderContents(HtmlTextWriter writer)
    {
        base.RenderContents(writer);
    }

}

调试用户控件

若要调试某个用户控件,请确保该用户控件包括在 SharePoint 项目的应用程序页或 Web 部件中。然后,可以调试用户控件中的代码,就像调试任何 Visual Studio 项目中的代码一样。

当您启动 Visual Studio 调试器时,Visual Studio 将打开 SharePoint 站点。

在 SharePoint 中,打开包括用户控件的应用程序页。如果用户控件包括在某个 Web 部件中,请将该 Web 部件添加到 SharePoint 中的 Web 部件页。

有关调试 SharePoint 项目的更多信息,请参见SharePoint 解决方案疑难解答

相关主题

标题

描述

如何:为 SharePoint 应用程序页或 Web 部件创建用户控件

演示如何创建可由在 SharePoint 中运行的应用程序页和 Web 部件使用的自定义的可重用控件。

使用 Visual Web Developer

说明如何使用在项目中打开网页时出现的设计器。