2011-07-19 9 views
0

ユーザがアイテムを追加するたびにエラーメッセージを表示したい。デフォルトの列IST イベントレシーバでAfterPropertiesカラムを定義する

public override void ItemAdding(SPItemEventProperties properties) 
{ 
properties.Cancel = true; 
properties.ErroMessage = properties.AfterProperties[columnname]; 
} 

は、残念ながら、それだけで動作し、columname: は、だから私はそのようなコードを使用します。 自己定義列の場合、機能しません。 は、私は、このエラーメッセージが表示されます:

event receiver has canceled the request 

私はすべてを試してみました: ColumnNameには権利である、列がNULLではありません.. 私はこの列を取得し、コンソールアプリケーションを作成する場合は、すべてがうまく動作します。 イベント受信側でのみ動作しません。

誰でも手伝いできますか?素晴らしいことだ!

答えて

0

うまくいけば愚かではありませんが、SharePointが認識する列名を使用していますか?私が尋ねる理由は、これらが自己定義の列であるということです。 UIを使用して列を定義すると、シーンの背後にある列名は、類似していても同じではなくなります。

このpageは、DisplayNameとInternalNameのオーバービューを提供します。また、著者が触れているように、UIを使用して列の名前を変更すると、さらに複雑になります。

+0

あなたのページを確認しましたが、それは問題ではないと思います。 私はしばらくの間、自己定義の列で作業しましたが、私は決して問題はありませんでした。あなたの答えは ありがとう。あなたは何かもっと知っていますか? コンソールアプリケーションを作成して列を取得すると、すべて正常に動作します。 イベント受信側でのみ動作しません。 – Fabian

+0

デバッガをItemAddingイベントにアタッチするとどうなりますか?列のプロパティを調べることはできますか? – meccaneko

関連する問題