65.9K
CodeProject 正在变化。 阅读更多。
Home

SharePointWebPartCodeGenerator 的重要性

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2012年3月6日

CPOL

3分钟阅读

viewsIcon

15494

SharePointWebPartCodeGenerator 的重要性。

说实话,我还没有真正享受 SharePoint 开发,但我仍然让自己学习。我想简要描述一下我在沙盒解决方案中创建可视化 Web 部件时遇到的问题。正如本文标题所示,SharePointWebPartCodeGenerator 在 Web 部件创建中起着重要作用。我将简要描述它是什么、在哪里使用以及为什么重要。需要具备基本的 ASP.NET 知识和 Visual Studio 开发经验。

名称庞大,功能范围小

SharePointWebPartCodeGenerator 的名称非常直观。它是一个用于生成 Web 部件代码的工具。它是 SharePoint Web 部件视觉方面的“设计器文件”创建器。让我通过描述在普通的 ASP.NET 中是什么来解释一下。在 ASP.NET 中,页面和控件(分别为 ASPX 和 ASCX)都有一个对应的设计器文件。当开发人员添加诸如“<asp:Textbox..”或“<asp:Literal..”等内容时,生成的 UI 代码就放在这里。这是自动化的,通常不会影响开发人员。Visual Studio 2010 SharePoint Power Tools 的神奇之处在于它需要使用工具 SharePointWebPartCodeGenerator。我将在以下部分中解释如何以及在哪里使用此工具。

案例说明

我最近创建了一个 Web 部件,用于以特定方式显示列表中的项目,并围绕这些项目包装一些特定功能。我选择了可视化 Web 部件。我认为在开发 Web 用户界面时,如果能够实际在 HTML 中看到它,会更容易。像往常一样,我发现完成 Web 部件创建后,有更好的实现方法。更改涉及更新 Web 部件标记中使用的控件。在进行更改后,我尝试构建解决方案,并得到一个类似于下面的错误:

‘..WebPart’ 不包含 ‘userControlID’ 的定义,并且没有接受 ‘..WebPart’ 类型的第一参数的扩展方法 ‘userControlID’(您是否缺少 using 指令或程序集引用?)

查看项目结构时,我注意到没有设计器文件。显然这是一个问题!没有设计器文件意味着我的 Web 部件中没有代码后台支持来管理控件。我最终发现我需要使用一个工具来创建这个设计器文件。我必须将 ‘SharePointWebPartCodeGenerator’ 添加到标记文件的属性中的 ‘Custom Tool’ 字段。

操作指南

让我描述一下这个过程。它非常简单明了。

确保在 Visual Studio 项目中选择了标记文件(例如,<filename>.ascx),如下所示

Select the ASCX In VS Solution Explorer

查看标记文件的属性,并确保 ‘Custom Tool’ 字段包含 ‘SharePointWebPartCodeGenerator’,如下所示

Add SharePointWebPartCodeGenerator as CustomTool in ASCX's File Properties

这解决了我所有的问题。在标记文件的属性中进行此项设置后,进行标记编辑就没有任何问题了。现在,当我保存对标记的更改时,它会自动运行自定义工具。

© . All rights reserved.