問題タブ [event-receiver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
8141 参照

sharepoint - Sharepoint アイテムの更新イベント - イベントをキャンセルして、編集フォーム ページに戻りますか?

ItemUpdating イベントで一部のデータを検証するためのコンテンツ タイプのイベント レシーバーがあります。イベントをキャンセルする場合 (たとえば、一部のデータが有効でない場合)、プロパティ cancel を true に設定します。

SharePoint は更新イベントを正常にキャンセルしますが、標準の SharePoint エラー ページを (指定されたメッセージと共に) 表示します。唯一の問題は、これが実際にはあまり役に立たないという苦情があることです。詳細を更新できるように、EditForm ページに戻る必要があります。

誰もこれをやったことがありますか、簡単な方法はありますか?私が持っていた唯一の提案は、独自のエラー ページを実装できるということですが、それは (理論的に) 単純なプロセスに対する非常に重い解決策のように思えます。

0 投票する
1 に答える
884 参照

visual-studio - Visual Studio で SharePoint イベント レシーバーを整理するにはどうすればよいですか?

いくつかのカスタム リストがあり、それぞれにいくつかのイベント レシーバーが関連付けられています (ただし、現時点で実際に作成されているのは 2 つだけです)。このイベント レシーバーは、個々のイベントの寄せ集めを処理し、さまざまな機能を実行します。私の質問は、理にかなった方法で Visual Studio ソリューション/プロジェクトでそれらを整理する方法です。独自の関数/クラス/フォルダー/プロジェクト/ソリューションを持つ必要があるイベント レシーバーはどれですか?

現在、2 つのソリューションがあり、それぞれ独自のソリューションで新しいイベント レシーバー プロジェクトを作成するときに Visual Studio の既定値を使用しています。もう 1 つのプロジェクトには 1 つのプロジェクトがあり、特定のリストにちなんで名付けられた 1 つのフォルダーがあり、そのリストで 2 つのイベント (ItemAdded と ItemUpdating) を処理するように設定されています。このフォルダーには 2 つの C# ファイルが含まれており、それぞれのファイルには、特定のイベント レシーバー用の 1 つの関数を持つ独自のクラスが含まれています。

しかし、1 つのリストに複数のイベント レシーバーがある場合、それらを 1 つのファイルに入れる必要がありますか? または、同じフォルダー内の別のファイルに分けますか? それとも別々のプロジェクトに?また、同じイベントの同じリスト アイテムに対して実行する論理的に異なる 2 つのアクションがある場合、両方のアクションを実行する 1 つのイベント レシーバーを用意する必要がありますか?

私が現在考えているのは、リストごとにフォルダーを作成し、イベント レシーバーごとに個別のファイルを用意し、単一のイベント レシーバーを使用して、そのイベント中に適切なアクション (独立しているかどうかにかかわらず) を実行することでした。「ベストプラクティス」のような組織はどうなるのだろうと思っています。

0 投票する
1 に答える
616 参照

event-handling - Visual Studio 2010 のイベント レシーバーの問題

base.ItemAdding(properties); からリスト項目のタイトルを取得する方法を理解しようとしています。私がやりたいのは、別のリストに追加されたばかりのアイテムをコピーすることです。つまり、同じアイテムが別のリストに追加されるということです。タイトル、説明など、追加されたばかりのアイテム...

もうありがとう。

0 投票する
1 に答える
248 参照

sharepoint - SharePoint 同期イベント レシーバー

Sharepoint 2007 の同期イベント レシーバーについて質問があります。

例として、イベントItemUpdatingを見てみましょう:手動でキャンセルしなければ、更新操作は成功すると想定しても安全ですか? イベントが別のイベント レシーバーによってキャンセルされる可能性があることはわかっています。ただし、他のイベント レシーバーがなく、SP が正常に動作すると仮定します (完全な DB やその他の例外的な問題はありません..)

イベントが成功した場合にのみ意味のあるアクションを実行したいので、お願いしています。ただし、非同期の「イベント プロパティ」には多くの情報が不足しているため、代わりに同期イベントを使用する必要があります。

フィードバックありがとう

0 投票する
2 に答える
1660 参照

sharepoint - SharePoint:単一アイテムの複数のイベントが更新されました

Pagesライブラリで使用される特定のコンテンツタイプのアイテムイベントレシーバーがあります。イベントロガーを使用してデバッグしていますが、ページを編集して公開するたびに、ItemUpdating3つと3つItemUpdatedのイベントが発生することがわかります。その特定の時間に他のページが保存されていないことは確かです。

これの原因は何ですか?ページの公開ごとに1つのイベントのみをトリガーするように「修正」する方法はありますか?

または、最後のイベント(つまり、ページが公開されているか公開されている)を他のイベントと区別する方法があるので、コードを3回実行することになりませんか?

0 投票する
1 に答える
1212 参照

sharepoint-2010 - SPListItem イベント レシーバーが ItemAdded イベントを実行しない

SharePoint 2010 と Visual Studio 2010 を使用してアイテム イベント レシーバーを作成しました。イベント レシーバーは実行されますが、イベントItemDeletingを実行できません。ItemAddingItemAdded

私の問題は、編集フォームでアイテムの画像をアップロードすることです。新しいアイテムを追加した後に編集フォームを開きたいので、アイテムの追加イベントで編集ページにリダイレクトできると思います。

0 投票する
2 に答える
1384 参照

sharepoint - SPFeature イベント レシーバーを起動しないコマンド ラインによる機能の非アクティブ化

stsadm ツールを使用して機能を無効にしています。このアクションに対してイベント レシーバーを有効にしています。サイトから手動で機能を非アクティブ化すると、イベントがトリガーされますが、stsadm コマンドの実行時にはトリガーされません。

助けてください...

コードシルヴァンは次のとおりです。

0 投票する
2 に答える
5696 参照

sharepoint - SharePoint ItemAdded および SPFile.OpenBinary()、ゼロ バイト

SharePoint 2010 画像ライブラリに関連付けられたイベント レシーバーがあります。写真がアップロードされたら、処理のために開きたいです。Web インターフェイスを使用してアップロードされたファイルは問題なく動作しますが、Windows エクスプローラ ビューを介してコピーされたファイルはゼロ バイトを返します。以下の簡略化されたコード。

開く前に遅延を挿入すると、機能します。

しかし、ファイルのアップロードを含め、すべてが完了した後にのみ ItemAdded が呼び出されたと思いました。また、OpenBinary が機能するかどうかにかかわらず、file.CanOpenFile(true) は常に true を返すこともわかりました。

OpenBinary() を呼び出す前に、ファイルを開く準備ができていることを確認するにはどうすればよいですか? Thread.Sleep ソリューションは好きではありません。ファイルが大きくなったり、サーバーがビジー状態になったりすると、より多くの待機が必要になるからです。所要時間は予測できず、ループして永遠に再試行したくありません。

更新: 当初、開けないのは大きなファイルが原因だと思っていました。原因としてエクスプローラー ビューを反映するように質問が更新されました。また、Windows エクスプローラーのコピーも ItemUpdated をトリガーし (2 回)、ここでファイルを開くことができます。3 つのトリガー、1 つのことを行うための 2 つの呼び出しがあるのは少し厄介なので、まだ提案を受け付けています。

0 投票する
3 に答える
3447 参照

sharepoint - SharePointリストアイテムのイベントハンドラー

SharePoint2007プロジェクトには次のシナリオがあります。30分ごとにSQLデータベーステーブルからSharePointリストを更新するタイマージョブ定義があります。

また、リストにアイテムイベントハンドラーを追加したため、ユーザーはSharePointユーザーインターフェイスからリストに新しいアイテムを追加できません。つまり、新しいリストアイテムは、SharePointオブジェクトモデルを介してタイマージョブ定義にのみ追加でき、UIから新しいアイテムを追加することはできません。

私の問題は-タイマージョブ定義から新しいアイテムを追加してもイベントハンドラーが実行されているのですが、アイテムがどのように追加されたかをイベントハンドラーでチェックできますか(オブジェクトモデルまたはユーザーインターフェイスを介して)。

どうもありがとう、Hrayr

0 投票する
2 に答える
1107 参照

sharepoint - カスタム コンテンツ タイプに基づく単一のリストのイベント レシーバーを作成するにはどうすればよいですか?

作成した質問というリストのイベント レシーバーを作成しようとしています。

新しい質問が追加されたら、イベントを発生させたいです。私はそれを調べたので、イベント レシーバーを作成し、ItemAdded メソッドを利用する必要があることがわかりました。

これをリストの 1 つのインスタンスにバインドするにはどうすればよいですか? また、レシーバーを作成するときに Source タイプに何を選択すればよいですか? 一部のブログ投稿が示唆しているように、そこには「カスタムリスト」のオプションがありません。

誰かが助けてくれることを願っています..