6

ハードasp.netの専門家を死ぬための質問。私は答えを見つけたり、自分でやろうと多くの時間を費やしてきましたが、今のところ運がありません。

ASP.NETWebアプリケーション。ユーザーエクスペリエンスが向上するように、ページの読み込み時間を改善する予定です。UpdatePanelsを使用してページの読み込みセクションを遅らせたい。最小間隔のタイマーを使用して、ページが読み込まれた直後に1つのUpdatePanel自体を更新できます。これは問題なく機能しますが、複数のUpdatePanelを使用して実行しようとすると手順が始まります。基本的に、すべてのパネルが同時に更新されるのではなく、順番に更新されます。

これは、各非同期ポストバックの結果がフルページのビューステートを実行し、ビューステートの不整合を防ぐために非同期ポストバックがシリアル化されるためであると読みました。実際、彼らは最後のコールバックだけが成功するだろうと言っているので、私はそれらをシリアル化することができて幸運だと思います。

そして今、大きな問題です:誰かがそれを回避する方法を見つけましたか?可能であればASP.NETで。これはおそらく私だけでなく、非常に価値のある答えになるでしょう。

ありがとう、ありがとう、ありがとう(答えを働いてくれてありがとう:-)

4

1 に答える 1

5

UpdatePanelは、設計上同期しています。

複数のリクエストを同時に実行する場合は、ページメソッド、AJAXサービス、または生のAJAXを使用する必要があります。どちらの方法も、ViewStateをあきらめることを意味します。

複数のAJAX要求に対してASP.Netコントロールを同時にレンダリングする場合は、コントロールを含む小さな独立したASPXファイルを作成し、それらにAJAX要求を送信して、レンダリングされたHTMLをDOMに挿入できます。jQueryでは、次のようにします$('selector').load('something.aspx')。ポストバックもビューステートも機能しないことに注意してください。

于 2010-02-24T16:11:46.587 に答える