Share via


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

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

创建用户控件

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

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

文件

说明

用户控件文件

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

代码文件

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

设计器代码文件

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

设计用户控件

可以使用 Visual Studio 中的 Visual Web Developer 设计器设计用户控件。 在项目中双击用户控件文件时,将显示此设计器。 有关使用此设计器的更多信息,请参见Visual Web Developer 内容映射

使用用户控件

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

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

若要在 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

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