AJAX 機能を公開したい WebPart (オブジェクト モデルは使用しませんが、SharePoint 環境で使用されます) を開発しています。 環境の性質上、スクリプト マネージャーをページに直接追加することは、オプションではないため、プログラムで追加する必要があります。Web パーツ コードで ScriptManager コントロールをページに追加しようとしました。
protected override void CreateChildControls()
{
if (ScriptManager.GetCurrent(Page) == null)
{
ScriptManager sMgr = new ScriptManager();
// Ensure the ScriptManager is the first control.
Page.Form.Controls.AddAt(0, sMgr);
}
}
ただし、このコードを実行すると、次のエラー メッセージが表示されます。
「DataBind、Init、Load、PreRender、または Unload フェーズ中にコントロール コレクションを変更することはできません。」
ScriptManager を WebPart からページに追加する別の方法はありますか、それとも、WebPart を使用する各ページ (またはマスター ページ) に ScriptManager を追加する必要がありますか?