编写和布置一个List Event Receivers(下)
前文說到已經將類寫好并放到GAC里面了,本文將接著介紹如何布置List Event Receivers.
布置List Event Receivers有三種方法,分別是:
1.???? 通過編程的方式布置
2.???? 通過Feature來布置
3.???? 通過Content Types來布置
一、???? 通過編程的方式來布置(假設站點下有一個List叫MyList):
建立一個控制臺應用程序,添加對Microsfot.SharePoint.dll的引用,然后添加代碼如下:
static void Main(string[] args)
{
string siteUrl = "Http://你的站點地址";
SPSite site = new SPSite(siteUrl);
SPWeb web = site.AllWebs[0];
SPList list = web.Lists["MyList"];//MyList是站點下的一個List名稱。
SPEventReceiverDefinition newReceiver = list.EventReceivers.Add();
newReceiver.Class = "EventLogger.ListEventLogger";//此處是上面所寫Event Receivers的命名空間及類名
newReceiver.Assembly = "Feature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ef3c06797f59570f";//此處可以用Reflector.exe查看。
newReceiver.SequenceNumber = 5000;
newReceiver.Type = SPEventReceiverType.ItemUpdated;
newReceiver.Update();
}
其實這些代碼都是最基本的代碼,也不需要太多解釋。
?
這樣就可以通過程序的方法,將List Event Receivers發布到MyList這個List中。
將修改MyList中的某一項時,就生成了一條日志記錄。
二、??????? 通過Feature來布置。
Feature一般是放在C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES下面的,每一個Feature都有自己單獨的文件夾(本例子中叫做LogFeature),文件夾下面一般有2個文件: Feature.xml和Element.xml(這個文件的名字可以自己定義).
Feature.xml的結構如下:
<Feature Id="D250636F-0A26-4019-8435-A5232D592C08"
??? Title="Event Logger"
??? Description="Add log to a text file."
??????? ?Scope="Site"
??? xmlns="http://schemas.microsoft.com/sharepoint/">
??? <ElementManifests>
??????? <ElementManifest Location="Element.xml" />
??? </ElementManifests>
</Feature>
Element.xml的結構如下:
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
??? <CustomAction
??????? Id="ReportListEventLogger"
??????? Location="Feature"
??????? GroupId="SiteActions"
??????? Title="Add event logger"
??????? ControlAssembly="Feature, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ef3c06797f59570f"
??????? ControlClass="EventLogger.ListEventLogger">
??? </CustomAction>
</Elements>
當在Features文件夾下有Feature.xml和Element.xml之后,你就可以用Stsadm命令行來安裝Feature了,具體命令如下:
Stsadm.exe –o installfeature –filename LogFeature\feature.xml
這樣就安裝完成了,可以在頁面中或再用命令行來激活.
?三.通過Content Type來布置:此種方法沒有學會,還望高人指點.
轉載于:https://www.cnblogs.com/hearticy/archive/2008/09/18/1293718.html
總結
以上是生活随笔為你收集整理的编写和布置一个List Event Receivers(下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 保证相同类型的MDI子窗体只会被打开一次
- 下一篇: 也跟90后小朋友聊聊