私はいくつかの潜在的な問題をいくつかのリストでチェックするItemUpdatingイベントを作成しようとしています。しかし、Itemイベントがまったくトリガされていないようで、ItemUpdating(..)への呼び出しをデバッグしても機能しません。メソッドが呼び出されないかのようです。SharePoint 2010アイテムアップデートイベント
イベントコード:
namespace MyEvent.EventReceiver1
{
public class EventReceiver1 : SPItemEventReceiver
{
public override void ItemUpdating(SPItemEventProperties properties)
{
base.ItemUpdating(properties);
// ... my code testing column BeforeProperties vs AfterProperties
if (properties.ListTitle == "My List")
{
if (properties.BeforeProperties["some field"] != properties.AfterProperties["some field"])
{
properties.Cancel = true;
properties.ErrorMessage = "Please do not alter some field in my list";
}
}
}
}
}
私はデバッグする場合は、「パブリックオーバーライドボイドItemUpdating()」リスト - を更新するときには、むしろそれが「マイリスト」かではありません発火することはありません。だから、たとえ "My List"がアイテムを更新しても、私のチェックは決して実行されません。
マイelements.xml:このイベントレシーバはかなりより複雑な現実であることを
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Receivers ListTemplateId="100">
<Receiver>
<Name>EventReceiver1ItemUpdating</Name>
<Type>ItemUpdating</Type>
<Assembly>$SharePoint.Project.AssemblyFullName$</Assembly>
<Class>MyEvent.EventReceiver1.EventReceiver1</Class>
<SequenceNumber>10000</SequenceNumber>
</Receiver>
</Receivers>
</Elements>
注...それはいくつかのかなりの綿密な機能を持つ複数の異なるイベントに発生させます。上記のItemUpdatingメソッドとItemDeletingメソッドを除いて、このフィーチャーの他のすべてが正常に機能します。
デプロイしelements.xmlをチェックしてください $ SharePoint.Project.AssemblyFullName $ことを確認できます に実際にあなたのアセンブリが示されていますか? –
[http://spm.codeplex.com](http://spm.codeplex.com/)を使用してチェックすることができます.SPに正しくデプロイされていますか – MishaU