附EventReceiver所有列出的sharepoint网站
-
12-09-2019 - |
题
我们可以写一eventreceiver得到开枪时的任何清单被更新。该listtemplateid,我们必须指定一个eventreceiver使我们的代码specefic的一个品种的清单。如果我们要有密码的执行活动上的所有名单的网站?
解决方案
我同样确切的要求。
也许这是可能的附加活动的接收系统 ContentType
(所有内容类型的继承的那一个,与id0x)
我会检查,如果这是可能的通过创建一个特点与一个FeatureReceiver和编程方式将它添加到系统的内容类型。一些细节 在这里,.
我的道路上找到一个解决方案
好吧,我做了一些测试与控制台应用程序。
- 试图添加
EventReceiver
系统(0x).被称为法ContentType.更新(true,false)更新所有儿童元素- 也没有系统ContentType
更新,也不是孩子.事实证明,你不能修改那些与contentTypesReadOnly
||Sealed
设定的属性,TRUE
- 试图添加EventReceiver项目(0x01)
ContentType
.因为从这里看到,所有的ContentTypes
仍继承的那一个(见 ContentType层次).有可能的定制部署的内容类型的继承的系统,但不是那些制成图形界面。更新这种内容类型的真正更新所有的孩子ContentTypes
(所有内容类型,除了那些ReadOnly
或Sealed
)
如何将全球EventReceiver到的所有项目
因此,一个解决方案,这将工作就是这样的:
- 迭代的所有名单,设定
Readonly
或Sealed
假如你想要的那些内容的类型与你EventReceivers
. - 加入你的
EventReceiver
到现有内容类型列出(SPList.ContentTypes
) - 添加EventReceiver到ContentType(
SPWeb.ContentTypes
)与id0x01使新列出了获得EventReceiver自动添加。新创建的内容类型也将继承EventReceivers
.还有子网站ContentTypes
继承EventReceivers
.
所有三个步骤可能是一个控制台应用程序或步骤。或者一个网站集广泛的功能 FeatureReceiver
结果
PS C:\Documents and Settings\Administrator> $web.contentTypes |ft id, name, EventReceivers, readonly, sealed
Id Name EventReceivers ReadOnly Sealed
-- ---- -------------- -------- ------
0x Sistēma {} False True
0x007F1DD730DB144C84... Darba kārtības vēsture {} True True
0x01 Ieraksts {, , , ...} False False
0x01003420C661289843... Darba kārtības ieraksts {, , , ...} False False
0x0101 Dokuments {, , , ...} False False
0x010100629D00608F81... Office datu savienoj... {} True False
0x010100B4CBD48E029A... Universālais datu sa... {} True False
0x010101 Veidlapa {, , , ...} False False
0x010102 Attēls {, , , ...} False False
0x010104 Nezināms dokumenta tips {} True False
0x010105 Lapu šablons {, , , ...} False False
0x010107 Lietotāja darbplūsma... {, , , ...} False False
0x010108 Wiki lapa {, , , ...} False False
0x010109 Pamatlapa {, , , ...} False False
0x01010901 Web daļu lapa {, , , ...} False False
0x01010A Saistīt ar dokumentu {, , , ...} False False
0x01010B Dublinas pamata kolo... {, , , ...} False False
0x0102 Notikums {, , , ...} False False
0x0103 Diskutējamais jautājums {, , , ...} False False
0x0104 Paziņojums {, , , ...} False False
0x0105 Saite {, , , ...} False False
0x0106 Kontaktpersona {, , , ...} False False
0x0107 Ziņojums {, , , ...} False False
0x0108 Uzdevums {, , , ...} False False
0x0108007122AD6D76CD... Darba kārtības uzdevums {, , , ...} False False
0x010801 Darbplūsmas uzdevums {, , , ...} False False
0x010802 Administratīvs uzdevums {, , , ...} False False
0x0109 Darbplūsmas vēsture {, , , ...} False False
0x010A Person {, , , ...} False False
0x010B SharePointGroup {, , , ...} False False
0x010C DomainGroup {, , , ...} False False
0x0110 Ziņa {, , , ...} False False
0x0111 Komentārs {, , , ...} False False
0x0116 Tālo Austrumu līgums {, , , ...} False False
0x0120 Mape {} False True
0x012001 RootOfList {} False True
0x012002 Diskusija {, , , ...} False False
对不起,我的鞋是局部的,但是{,,,...}意味着我加了几个eventreceivers于内容类型。正如你可以看到那些 Readonly
或 Sealed
属性虚假不变。
不隶属于 StackOverflow