启动 Microsoft Visual Studio 2010 中的 SharePoint 开发工具,
SharePoint 2010 自定义 Delegate 控件
。在“文件”菜单上,指向“新建”,然后单击“项目”。
在“项目类型”中的“Visual Basic”或“C#”下,选择“空白 SharePoint 项目”。
键入 EcmascriptDelegate 作为项目名称。单击“确定”。
在“SharePoint 自定义向导”中,选择“部署为场解决方案”。单击“完成”。
在“解决方案资源管理器”中,右键单击“EcmascriptDelegate”项目。依次选择“添加”和“新项”。
在“添加新项目”对话框中,单击“代码”组并选择“类”模板。键入 EcmascriptDelegateControl 作为“名称”,然后单击“添加”。
接下来,必须添加对 System.Web 的引用。在“解决方案资源管理器”中,右键单击“引用”文件夹并选择“添加引用”。在“添加引用”对话框中,单击“”选项卡并在列表中找到“System.Web”。单击“确定”。
在显示的 EcmascriptDelegateControl 文件中,添加以下 using 语句。
using System.Web.UI.WebControls;
通过修改以下行将 EcmascriptDelegateControl 的基类更改为 WebControl。
class EcmascriptDelegateControl : WebControl
通过添加以下代码重写 onLoad 方法。
protectedoverridevoid onLoad(EventArgs e){base.onLoad(e);}
在 onLoad 方法中,添加以下代码以将 ECMAscript. 添加到页面,《SharePoint 2010 自定义 Delegate 控件》()。
string helloalert = "alert('Hello, world!');";this.Page.Clientscript.RegisterClientscriptBlock(this.GetType(), "popup", helloalert, true);
现在,您已经为项目生成了委托控件。接下来,将创建功能以部署控件。
创建功能以部署控件
在“解决方案资源管理器”中,右键单击“EcmascriptDelegate”项目,并依次选择“添加”和“新项”。
在“添加新项目”对话框中,选择“空元素”模板并键入 EcmascriptDelegateFeature 作为“名称”。单击“添加”。
在 Elements 元素中插入以下 XML。Id 属性标识呈现控件的委托。ControlAssembly 和 ControlClass 属性是您的控件所特有的。
<Control Id="AdditionalPageHead" ControlAssembly="EcmascriptDelegate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=public key token" ControlClass="EcmascriptDelegate.EcmascriptDelegateControl">
现在,您已经拥有控件和部署控件所需的功能。控件要求在 web.config 文件中具有 SafeControl 项,才能在页面上运行。以下过程为您的控件添加 SafeControl 项。
添加 SafeControl 项
在“解决方案资源管理器”中,单击“EcmascriptDelegateFeature”,并在“安全控制项”属性中单击“...”。
在“安全控制项”对话框中单击“添加”。
在“属性”框中,确保“命名空间”属性具有正确的值。它应该是您的控件的命名空间。另外,确保“安全”属性设置为 true。单击“确定”。
现在,已经添加了 SafeControl 项,您可以部署解决方案。
部署和测试委托控件
按 F5 以运行解决方案。
加载页面时,将出现一个显示“Hello, world!”的对话框。这是委托控件已添加到页面中的脚本。