在本练习中,您将在 Microsoft SharePoint 2010 中创建自定义列表定义,然后创建使用该列表时触发的事件接收器。若要完成此任务,您必须执行以下操作:
创建 SharePoint 列表定义项目
在该任务中,您将在 Microsoft Visual Studio 2010 中创建列表定义 SharePoint 2010 项目。
创建 SharePoint 项目
-
若要启动 Visual Studio 2010,请依次单击“开始”菜单、“所有程序”、“Microsoft Visual Studio 2010”和“Microsoft Visual Studio 2010”。
-
在“文件”菜单上,指向“新建”,然后单击“项目”。
-
在“新建项目”对话框窗口中的“已安装的模板”部分,依次单击“Visual C#”、“SharePoint”和“2010”。
-
从项目项中单击“列表定义”。
-
在“名称”框中,键入 Bugs,然后单击“确定”。
-
在 SharePoint 自定义向导中,键入要用于本练习的本地网站(例如 http://localhost/SampleWebSite)。
-
对于信任级别,请选择“部署为场解决方案”,然后单击“下一步”。
-
在“列表定义的显示名称是什么?”框中,键入 Bugs。
-
在“列表定义的类型是什么?”下拉列表中,选择“自定义列表”。
-
选中“为此列表定义添加列表实例”复选框,然后单击“完成”。
自定义 SharePoint 列表定义
该任务将指导您完成自定义列表定义项目模板,具体方法是更改列表名称、其中存储的内容类型以及在新建窗体、编辑窗体和显示窗体时显示的字段。
自定义列表定义
-
在解决方案资源管理器中,展开“ListInstance1”,然后打开“Elements.xml”文件。
-
在 ListInstance 元素中,将 Title 属性更改为 Bugs,并将 TemplateType 属性更改为 10001。
-
在解决方案资源管理器中,在打开“Schema.xml”之前,打开“Elements.xml”。
-
在 ListTemplate 元素中,将 Type 属性更改为 10001,并添加
DisallowContentTypes=”FALSE”
属性。 -
将以下 XML 插入 Elements.xml 文件中的 Elements 元素顶部,如图 1 所示。此 XML 说明了此列表存储的 Bug Item 内容类型。
<!-- Describes content types. --> <ContentType ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" Name="Bug Item" Group="Custom Content Types" Description="Bug item content type." Version="0"> <FieldRefs> <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" /> <FieldRef ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" /> <FieldRef ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" /> <FieldRef ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" /> </FieldRefs> </ContentType> <!-- End describes content types. -->
-
将以下 XML 插入 Elements.xml 文件中的 Elements 元素顶部,如图 1 所示。此 XML 说明了 Bug Item 内容类型使用的字段。
<!-- Describes fields in bug list. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" Group="Custom Columns" /> <!-- End describes fields in bug list. -->
-
在解决方案资源管理器中,打开“Schema.xml”。
-
将
EnableContentTypes=”TRUE”
属性添加到 Schema.xml 文件内的 List 元素中。 -
将以下 XML 插入 schema.xml 文件中的 ContentTypes 元素中,如图 2 所示。此 XML 说明了此列表存储的 Bug Item 内容类型。
-
将以下 XML 插入 Fields 元素中,如图 2 所示。此 XML 说明了此列表存储的字段。这些字段与您在上一步添加的内容类型中的字段直接相关。
<!-- Start Add. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" -Group="Custom Columns" /> <!-- End Add. -->
-
将以下 XML 插入第二个视图中的 ViewFields 元素中,其中
BaseViewID="1"
如图 3 所示。此 XML 说明了此特殊视图中的哪些字段可见。BaseView 1 已设置为默认视图。此视图是新建字段将在其中显示的视图。 -
在解决方案资源管理器中,右键单击“Bug”节点,然后单击“部署”。
测试解决方案
在该任务中,您将通过将 Bug 添加到“Bug”列表来测试解决方案。
将项目添加到“Bug”列表
-
打开之前指定的网站。
-
在主页上的左导航窗格中,单击“Bug”列表。
-
在“列表工具”选项卡上,单击“项”,然后在“新建项”下拉列表上,单击“Bug 项”,如图 4 所示。
图 4.“新建项”下拉列表中的“Bug 项”
将显示“Bug - 新建项”屏幕,如图 5 所示。
图 5. 新建 Bug 项对话框 -
在“Bug - 新建项”屏幕中,在“标题”框中键入 Bug01。
-
在“说明”框中键入谁将跟踪此 Bug?,在“项目”框中键入编写开发人员文章,然后单击“保存”。