私はページに複数のUpdatePanelを持っていますが、どちらも高価なコントロールで埋められています。非同期ポストバックでは、すべてのUpdatePanelが初期化されますが、UpdatePanelだけがクライアントに送信されます。今私は実際に更新が必要なUpdatePanelのみを初期化したいと思います。__eventtargetをScriptManager idに設定
http://ryanfarley.com/blog/archive/2005/03/11/1886.aspxは、__EVENTTARGET
パラメータをデコードして、ポストバックを引き起こしたコントロールを見つけることを提案しています。 forums.asp.net/p/1385862/2947336.aspxは、ScriptManager固有IDに対応するRequest.Form値のデコードを提案します。どちらもうまくいくようです。ただし、本番システム(IIS 6、.NET 3.5)では、__EVENTTARGET
がScriptManagerの一意のID(MyScriptManager)に設定されている要求が頻繁に報告されます。これらの場合、ScriptManagerパラメータもにデコードされます。MyScriptManager | の代わりに MyScriptManager UpdatePanelId | イベントターゲットID。
Firefox 3.0および3.5、およびIE 6,7および8については、それが確認されています。ただし、再現できませんでした。クライアントのブラウザがこれらの値を返信する原因は何ですか?
私は既にUpdateMode.Conditionalを使用しています。ただし、これには2つの影響しかないようです:更新された更新パネルのコンテンツのみがブラウザに送信され、保護されたプロパティUpdatePanel.RequiresUpdateはOnPreRenderイベントの前に初期化されます。しかし、UpdatePanelの子コントロールを作成する必要はありません(OnInit/OnLoad)。したがって、後でどの更新パネルが更新を必要とするかを予測しようとします。 –