3

検証のためにSharepointのイベントレシーバーで「ItemAdding」メソッドを正常に使用した人はいますか?

次のように思われるため、検証目的では適切に機能しないと思います。

  • フォームに入力したばかりのデータにアクセスできません
  • エラーメッセージを追加すると、フォームをエラーとともに表示する代わりに、Sharepoint
    は大きな醜いエラーページを表示します。

ItemAdding メソッドについてこれまでにウェブで見つけたものは次のとおりです。

http://www.sharepoint-tips.com/2006/09/synchronous-add-list-event-itemadding.html

http://www.moss2007.be/blogs/vandest/archive/2007/07/20/wss-3-0-event-handler-pre-event-cancelling-issues.aspx

http://www.synergyonline.com/blog/blog-moss/Lists/Posts/Post.aspx?ID=25

とにかく、誰かがその方法をうまく使用した場合は、それが壊れている/何かが欠けているだけだと思う​​ので、その方法を教えてください!

ありがとう!

4

2 に答える 2

6

そのような「わかりやすい」検証チェックを実行するために ItemAdding を使用することはできません。e.Cancel = true を設定し、e.ErrorMessage を設定すると、sharepoint は標準エラー ページにリダイレクトし、メッセージを表示します。フォーム ページにリダイレクトすることはできません。

組み込みのページをハッキングしようとするのではなく、コンテンツ タイプにバインドされた infopath または aspx フォームを使用する必要があります。Infopath には組み込みの検証コントロールがあり、自分で作成した aspx フォームを使用して、それを任意の Web アプリのように扱い、独自の検証を選択できます。

ここから抜け出すのは簡単ではありません。

-オイシン

于 2009-10-03T15:20:55.540 に答える
4

フォームに追加されたばかりのデータにアクセスできます。追加/更新イベント レシーバーの properties.AfterProperties を見てください。

例は、properties.AfterProperties["Title"] です。

エラー処理が少し難しいことには同意しますが、UI で検証を行うだけでなく、イベント レシーバーで検証を行うことをお勧めします。カスタム ページでない場合は、コンテンツ エディター Web パーツを使用して JavaScript を既存のページに追加し、検証を行うことができます。

于 2012-09-14T19:26:44.010 に答える