zoukankan      html  css  js  c++  java
  • SharePoint2010 自定义 Delegate 控件

    1. 启动 Microsoft Visual Studio 2010 中的 SharePoint 开发工具。

    2. 在“文件”菜单上,指向“新建”,然后单击“项目”。

    3. 在“项目类型”中的“Visual Basic”或“C#”下,选择“空白 SharePoint 项目”。

    4. 键入 EcmaScriptDelegate 作为项目名称。单击“确定”。

    5. 在“SharePoint 自定义向导”中,选择“部署为场解决方案”。单击“完成”。

    6. 在“解决方案资源管理器”中,右键单击“EcmaScriptDelegate”项目。依次选择“添加”和“新项”。

    7. 在“添加新项目”对话框中,单击“代码”组并选择“类”模板。键入 EcmaScriptDelegateControl 作为“名称”,然后单击“添加”。

    8. 接下来,必须添加对 System.Web 的引用。在“解决方案资源管理器”中,右键单击“引用”文件夹并选择“添加引用”。在“添加引用”对话框中,单击“.NET”选项卡并在列表中找到“System.Web”。单击“确定”。

    9. 在显示的 EcmaScriptDelegateControl 文件中,添加以下 using 语句。

      using System.Web.UI.WebControls;
      
    10. 通过修改以下行将 EcmaScriptDelegateControl 的基类更改为 WebControl。

      class EcmaScriptDelegateControl : WebControl
    11. 通过添加以下代码重写 OnLoad 方法。

      protected override void OnLoad(EventArgs e)
      {
        base.OnLoad(e);
      }
      
      
    12. OnLoad 方法中,添加以下代码以将 ECMAScript 添加到页面。

        string helloAlert = "alert('Hello, world!');";
        this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "popup", helloAlert, true);
      
      

    现在,您已经为项目生成了委托控件。接下来,将创建功能以部署控件。

    创建功能以部署控件

    1. 在“解决方案资源管理器”中,右键单击“EcmaScriptDelegate”项目,并依次选择“添加”和“新项”。

    2. 在“添加新项目”对话框中,选择“空元素”模板并键入 EcmaScriptDelegateFeature 作为“名称”。单击“添加”。

    3. Elements 元素中插入以下 XML。Id 属性标识呈现控件的委托。ControlAssemblyControlClass 属性是您的控件所特有的。

      <Control Id="AdditionalPageHead" ControlAssembly="EcmaScriptDelegate, Version=1.0.0.0, Culture=neutral, PublicKeyToken=public key token" ControlClass="EcmaScriptDelegate.EcmaScriptDelegateControl">
      

    现在,您已经拥有控件和部署控件所需的功能。控件要求在 web.config 文件中具有 SafeControl 项,才能在页面上运行。以下过程为您的控件添加 SafeControl 项。

    添加 SafeControl 项

    1. 在“解决方案资源管理器”中,单击“EcmaScriptDelegateFeature”,并在“安全控制项”属性中单击“...”。

    2. 在“安全控制项”对话框中单击“添加”。

    3. 在“属性”框中,确保“命名空间”属性具有正确的值。它应该是您的控件的命名空间。另外,确保“安全”属性设置为 true。单击“确定”。

    现在,已经添加了 SafeControl 项,您可以部署解决方案。

    部署和测试委托控件

    1. 按 F5 以运行解决方案。

    2. 加载页面时,将出现一个显示“Hello, world!”的对话框。这是委托控件已添加到页面中的脚本。

  • 相关阅读:
    Ubuntu安装teamviewer(附带解决dpkg占用的代码)
    使用print时出错 SyntaxError: Missing parentheses in call to 'print' Did you mean print("Usage....
    非root用户(普通用户)安装CMake
    Permanently added the RSA host key for IP address '13.229.188.59' Permission denied (publickey)fatal
    django6-admin
    django6-信号
    django6-缓存
    django6 -中间件
    天津去哪玩
    django--->form表单
  • 原文地址:https://www.cnblogs.com/yunliang1028/p/2136809.html
Copyright © 2011-2022 走看看