настраиваемый серверный контроль на странице публикации MOSS - PullRequest
0 голосов
/ 19 июня 2009

Вопрос был:

У меня есть страница в MOSS 2007 сайт публикации, использующий макет (страница наследуется от Microsoft.SharePoint.Publishing.TemplatedRedirectionPage), и Мне нужно написать код для этого страница, но все же пусть макет механизм шаблонов работы.

Я пытался написать класс, который наследует от Microsoft.SharePoint.Publishing.TemplatedRedirectionPage, а затем изменить страницу, чтобы наследовать из моего класса. Страница ведет себя нормально (то есть работает как раньше), но методы в моем коде позади класс не вызывают.

Кто-нибудь знает, что я должен делать?

Но на данный момент я почти уверен, что это не сработает. В настоящее время я пытаюсь разместить пользовательский серверный элемент управления на странице публикации, но я не могу заставить его работать. Разве невозможно настроить страницу публикации, кроме как через ее макет (который здесь не подходит)?

Ответы [ 3 ]

1 голос
/ 21 июня 2009

Как оказалось, самый простой способ выполнить то, что я хотел, это удалить зону веб-части на макете страницы, а затем использовать элементы управления редактирования SharePoint, чтобы добавить свой элемент управления (который можно превратить в веб часть тривиально).

Все хорошо, и мне не нужно было делать ничего странного.

0 голосов
/ 20 июня 2009

Страница публикации - это, по сути, макет страницы (шаблон), заполненный конечным пользователем. Его логика исходит исключительно из элементов управления, которые были добавлены в макет страницы. Я не слышал о наследовании от класса страницы публикации, потому что в этом не должно быть необходимости - изменение макета страницы - это способ сделать это.

Это действительно не поможет вам, если вы не можете изменить макет страницы (есть какая-то причина?). Я не уверен, какую функциональность вы пытаетесь добавить на страницу, но вот несколько идей:

  • Создайте новый макет страницы, содержащий пользовательский элемент управления с необходимыми вам функциями, и создайте страницу публикации на его основе.
  • Если у вас уже есть пользовательские элементы управления, используемые в макете страницы, измените их, чтобы предоставить вам необходимые функции.
  • Исследуйте делегируйте элементы управления и посмотрите, будут ли они работать на вас.
0 голосов
/ 20 июня 2009

Хорошо, вот как это работает. Я полагаю, вы получили этот класс Microsoft.SharePoint.Publishing.TemplatedRedirectionPage из файла в папке «Шаблон сайта». Эти страницы являются просто своего рода заполнителями. Фактические страницы, которые создаются на сайте, не основаны на странице TemplatedRedirection, но имеют экземпляр макета страницы, существующего на сайте.

Для решения вашей проблемы вы можете взять

  1. Настройка макета страницы (наследуйте класс макета страницы публикации и делайте то, что хотите) Но вы сказали, что не хотите этого.
  2. Вторым доступным вариантом является создание страниц Ghostable с использованием Feature и предоставление их сайту (существует разница между страницами Ghostable и страницами GhostableInLibrary). То, как это решит ваши проблемы, заключается в том, что вы можете написать любой собственный код / ​​Наследовать из любого класса, который вам нужен, и использовать функцию для его предоставления. Одним из примеров этого является просмотр файла 'C: \ Program Files \ Common Files \ microsoft shared \ Extensions Web Server \ 12 \ TEMPLATE \ SiteTemplates \ sts' и поиск файла onet.xml для его подготовки, C: \ Program Files \ Common Files \ microsoft shared \ Расширения веб-сервера \ 12 \ TEMPLATE \ SiteTemplates \ sts \ xml \ onet.xml ~ 163 номера строки.
...