在 Visual Studio 中,你可以创建可由 SharePoint 中运行的应用程序页和 Web 部件使用的自定义可重用控件。 这些控件称为用户控件。 用户控件是一种复合控件,其工作原理与 ASP.NET 网页非常类似:可将现有 Web 服务器控件和标记添加到用户控件,并定义控件的属性和方法。 然后可以将它们嵌入到 ASP.NET 网页中,充当其中的一个单元。
创建用户控件
若要创建用户控件,请将“用户控件”添加到“空白 SharePoint 项目” 。 有关详细信息,请参阅如何:为 SharePoint 应用程序页或 Web 部件创建用户控件。
添加“用户控件”项时,Visual Studio 会在项目中创建一个文件夹,然后将多个文件添加到该文件夹中。 下表对每个文件进行了描述。
文件 | 说明 |
---|---|
用户控件文件 | 定义用户控件。 通过向此文件添加控件和标记来设计用户控件。 |
代码文件 | 包含用户控件背后的代码。 向此文件添加用于处理事件的代码。 |
设计器代码文件 | 包含设计器生成的代码,不应直接对其进行编辑。 |
设计用户控件
使用 Visual Studio 中的 Visual Web Developer 设计器设计用户控件。 在项目中打开用户控件文件并选择“设计”选项卡时,将显示此设计器。
使用用户控件
在应用程序页或 Web 部件中包含用户控件之前,这些控件不会显示在 SharePoint 中。
若要在应用程序页中包含用户控件,请打开要向其添加 ASP.NET 用户控件的网页。 切换到设计视图,然后在解决方案资源管理器中选择自定义用户控件文件,并将其拖到页面上。 随即 ASP.NET 用户控件便添加到页面中,并且设计器将创建 @ Register 指令,这是页面识别用户控件所需的指令。 现在可以使用控件的公共属性和方法。
若要在 Web 部件中包含用户控件,请将用户控件添加到 Web 部件代码文件中的 Web 部件 Controls 集合中。 以下示例将用户控件添加到 Web 部件的 Controls 集合中。
[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 解决方案疑难解答。
相关主题
Title | 说明 |
---|---|
如何:为 SharePoint 应用程序页或 Web 部件创建用户控件 | 演示如何创建可由 SharePoint 中运行的应用程序页和 Web 部件使用的自定义可重用控件。 |