2009-02-18 8 views
1

я добавил пункт меню в редактировании блока управления (ECB) в библиотеке документов (с помощью следующей статьи MSDN http://msdn.microsoft.com/en-us/library/ms473643.aspx)как применять пользовательские действия в ECB только для документа пункта

Теперь я обнаружил, что пользовательское действие (меню Элемент) в ECB отображается как для позиции документа, так и для папки документа. Итак, как применять специальные действия только для элемента документа?

ответ

0

Вы используете список в качестве вашего регистрационного типа?

Попробуйте использовать ContentType в качестве типа RegistrationType и укажите ориентир типа содержимого документа (я думаю, его 0x0101) в вашем регистрационном идентификаторе.

+0

Hi Jay, Спасибо за комментарии .... u очень правы .... Список типов содержимого контента по следующей ссылке (Очень полезная ссылка) http://grounding.co.za/blogs/brett /archive/2008/09/09/sharepoint-content-type-id-s.aspx Если у вас есть какая-либо другая ссылка, пожалуйста, поделитесь со мной .... – Anoop

0

Вам понадобится создать класс, который наследуется от WebControl. Этот класс должен будет отобразить ваш пункт меню, как вы хотите, чтобы он отображался.

Затем вы должны использовать параметры ControlAssembly и ControlClass из своего определения CustomAction, чтобы указать этот класс.

Вашему классу необходимо будет определить, является ли текущий элемент документом или папкой, и визуализировать/не отображать его соответствующим образом.

Я бы получил управление сначала, просто показывая ссылку, затем добавив логику позже.

Это a good blog posting on the technique, его не для ЕЦБ, но принципы одинаковы.

Наслаждайтесь!

+0

Параметры ControlAssembly и ControlClass не работают для ECB, так как это меню отображается на стороне клиента, а не на стороне сервера. –

0

В вашем customAction use RegistrationType = "FileType", чтобы определить FILE и использовать RegistrationId = "doc", чтобы определить расширение, в моем примере используйте текстовый документ. ;-)

Смежные вопросы