Настройка элемента управления Delegate

Дата последнего изменения: 9 июля 2010 г.

Применимо к: SharePoint Foundation 2010

В этом примере показан базовый процесс создания и реализации делегирующего элемента управления делегированием. Этот элемент управления находится на странице в элементе управления AdditionalPageHead. Он регистрирует на странице некоторые ECMAScript (JavaScript, JScript).

Действия для построения делегирующего элемента управления

  1. Запустите разработки SharePoint в Microsoft Visual Studio 2010.

  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;
    
    Imports System.Web.UI.WebControls
    
  10. Измените базовый класс EcmaScriptDelegateControl на WebControl, изменяя следующую строку.

    class EcmaScriptDelegateControl : WebControl
    
    Public Class EcmaScriptDelegateControl
      Inherits WebControl
    
  11. Переопределите метод OnLoad, добавляя следующий код.

    protected override void OnLoad(EventArgs e)
    {
      base.OnLoad(e);
    }
    
    Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
      MyBase.OnLoad(e)
    End Sub
    
  12. В методе OnLoad добавьте следующий код, чтобы поместить на страницу JavaScript.

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

Теперь для проекта создан делегирующий элемент управления. Далее будет создан компонент, развертывающий этот элемент управления.

Действия для создания компонента, развертывающего элемент управления

  1. В обозревателе решений щелкните правой кнопкой мыши проект EcmaScriptDelegate, а затем выберите Добавить, а затем Новый элемент.

  2. В диалоговом окне Добавление нового элемента выберите шаблон Пустой элемент и введите EcmaScriptDelegateFeature в качестве значения поля Имя. Нажмите кнопку Добавить.

  3. Вставьте следующую XML-разметку в элемент Elements. Атрибут Id определяет делегат, в котором визуализируется элемент управления. Атрибуты ControlAssembly и ControlClass являются уникальными для созданного элемента управления. Дополнительные сведения о том, как найти полное имя сборки, см. в статье Практическое руководство. Создание инструмента для получения полного имени сборки.

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

Теперь созданы и элемент управления, и компонент, нужный для развертывания элемента управления. Для выполнения на странице элементам управления требуется запись SafeControl в файле web.config. Следующая процедура добавляет запись SafeControl для созданного элемента управления.

Действия для добавления записи SafeControl

  1. В обозревателе решений щелкните EcmaScriptDelegateFeature и щелкните ... в свойстве Записи безопасных элементов управления.

  2. Нажмите кнопку Добавить в диалоговом окне Записи безопасных элементов управления.

  3. В диалоговом окне Свойства убедитесь, что для свойства Пространство имен задано правильное значение. Это пространство имен созданного элемента управления. Кроме того, убедитесь, что для свойства Безопасный установлено значение true. Нажмите кнопку ОК.

Теперь, после добавления записи SafeControl, можно развернуть решения.

Действия для развертывания и тестирования делегирующего элемента управления

  1. Нажмите клавишу F5 для выполнения решения.

  2. После загрузки страницы появляется диалоговое окно с сообщением Hello, world!. Это скрипт, который делегирующий элемент управления добавил на страницу.

См. также

Ссылка

DelegateControl

Концепции

Элемент управления Delegate (Control Templatization)

Элементы управления Delegate