演练:创建基本站点定义项目
本演练演示如何创建一个基本的站点定义,该定义包含一个具有一些控件的可视 Web 部件。 为了清楚起见,你创建的可视 Web 部件只有几个控件。 不过,你可以创建更复杂的 SharePoint 站点定义,其中包括更多的功能。
本演练演示了下列任务:
通过使用 Visual Studio 项目模板创建一个站点定义。
通过使用 SharePoint 中的站点定义创建一个 SharePoint 站点。
在解决方案中添加一个可视 Web 部件。
在站点的 default.aspx 页面上添加新的可视 Web 部件,以对其进行自定义。
注意
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 IDE。
先决条件
您需要满足以下条件才能完成本演练:
支持的 Microsoft Windows 和 SharePoint 版本。 有关详细信息,请参阅“开发 SharePoint 解决方案的要求”。
Visual Studio。
创建站点定义解决方案
首先,在 Visual Studio 中创建站点定义项目。
创建站点定义项目
在菜单栏上,依次选择“文件”>“新建”>“项目”。 如果 IDE 设置为使用 Visual Basic 开发设置,请在菜单栏上选择“文件”>“新建项目” 。
此时将出现“新建项目” 对话框。
展开“Visual C#”节点或“Visual Basic”节点,再展开“SharePoint”节点,然后选择“2010”节点 。
在“模板”列表中,选择“SharePoint 2010 项目” 模板。
在“名称”框中,输入“TestSiteDef”,然后选择“确定”按钮。
“SharePoint 自定义向导”随即出现。
在“指定用于调试的站点和安全级别”页上,输入要在其中调试站点定义的 SharePoint 站点的 URL,或者使用默认位置 (http://System Name/)。
在“此 SharePoint 解决方案的信任级别是什么?”部分中,选择“部署为场解决方案”选项按钮。
所有站点定义项目都必须部署为场解决方案。 有关沙盒解决方案与场解决方案的详细信息,请参阅沙盒解决方案注意事项。
选择“完成”按钮。
项目将出现在“解决方案资源管理器”中。
在解决方案资源管理器中,选择项目节点,然后在菜单栏上选择“项目”>“添加新项” 。
展开“Visual C#”或“Visual Basic”下的“SharePoint”节点,然后选择“2010”节点 。
在“模板”窗格中,选择“站点定义”模板,保留“名称”为“SiteDefinition1”,然后选择“添加”按钮 。
创建可视 Web 部件
接下来,创建要显示在站点定义主页上的可视 Web 部件。
创建可视 Web 部件
在“解决方案资源管理器”中,选择“显示所有文件”按钮。
选择“SiteDefinition1”项目节点,然后在菜单栏上选择“项目”>“添加新项” 。
此时会显示“添加新项”对话框。
展开“Visual C#”节点或“Visual Basic”节点,再展开“SharePoint”节点,然后选择“2010”节点 。
在模板列表中,选择“可视 Web 部件”模板,保留默认名称“VisualWebPart1”,然后选择“添加”按钮 。
VisualWebPart1.ascx 文件随即打开。
在“VisualWebPart1.ascx”的底部,添加以下标记以向窗体添加三个控件:文本框、按钮和标签:
<table> <tr> <td> <asp:TextBox runat="server" ID="tbName"></asp:TextBox> </td> <td> <asp:Button runat="server" ID="btnSubmit" Text = "Change Label Text" OnClick="btnSubmit_Click"></asp:Button> </td> <td> <asp:Label runat="server" ID="lblName"></asp:Label> </td> </tr> </table>
在“VisualWebPart1.ascx”下,打开“VisualWebPart1.ascx.cs”文件 (Visual C#) 或“VisualWebPart1.ascx.vb”文件 (Visual Basic),然后添加以下代码:
此代码为 Web 部件的按钮单击添加功能。
将可视 Web 部件添加到默认 ASPX 页
接下来,将可视 Web 部件添加到站点定义的默认 ASPX 页。
将可视 Web 部件添加到默认 ASPX 页
打开 default.aspx 页,然后在
WebPartPages
标记下添加以下行:<%@ Register Tagprefix="MyWebPartControls" Namespace="TestSiteDef.VisualWebPart1" Assembly="$SharePoint.Project.AssemblyFullName$" %>
此行将名称 MyWebPartControls 与 Web 部件及其代码关联。 Namespace 参数与 VisualWebPart1.ascx 代码文件中使用的命名空间匹配。
在
</asp:Content>
元素之后,将整个ContentPlaceHolderId="PlaceHolderMain"
部分及其内容替换为以下代码:<asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server"> <MyWebPartControls:VisualWebPart1 runat="server" /> </asp:Content>
此代码会创建一个对前面创建的可视 Web 部件的引用。
在解决方案资源管理器中,打开“SiteDefinition1”节点的快捷菜单,然后选择“设为启动项” 。
部署并运行站点定义解决方案
接下来,将项目部署到 SharePoint,然后运行该项目。
部署并运行网站定义
在菜单栏上,选择“生成”>“部署 TestSiteDef”。
选择 F5。
Visual Studio 编译代码、添加其功能、将所有文件打包到 SharePoint 解决方案 (WSP) 文件中,并将 WSP 文件部署到 SharePoint Server。 然后,SharePoint 安装文件,然后激活功能。
基于站点定义创建站点
接下来,使用新的站点定义来创建站点。
使用新的站点定义来创建站点
在 SharePoint 站点上,将显示“新建SharePoint 站点”页。
在“标题和说明”部分中,输入“我的新站点”作为站点的标题和说明 。
在“网站地址”部分,在“URL 名称”框中输入“mynewsite”。
在“模板”部分中,选择“SharePoint 自定义项”选项卡 。
在“选择模板”列表中,选择“SiteDefinition1” 。
将其他设置保留为默认值,然后选择“创建”按钮。
新站点随即显示。
测试新站点
接下来,测试新站点以验证它是否正常工作。
测试新站点
在默认 ASPX 页上,输入一些文本,然后选择文本框旁边的“更改标签文本”按钮。
该文本显示在按钮右侧标签中。