1

私の質問は、ユーザーエクスペリエンスを向上させるために、複雑なページの読み込みを分割することです。

情報:

私は通常のaspxページを持っています。これには、複雑で重いタスクを実行する多くのコントロールが含まれています。このタスクは、ページが読み込まれるときに自動的に(デフォルトで)プリフロムされます。これらのコンポーネントはすべてdivに分割され、アクティブなタブに基づいてJQueryが非表示および表示されます。したがって、タブによって、コントロール、コンポーネントなどのグループを非表示または表示します。これらのコントロールは、同じページにとどまり、現時点でのように配置する必要があります。

問題:

このページの問題は、ページが非常に大きくなることがあり、高価なタスクを実行するため、ページを初めてロードするのに時間がかかるため、ユーザーエクスペリエンスが低下することです。つまり、パフォーマンスが非常に悪く、ページが完全に読み込まれるまでに数分かかる場合があります。

質問:

この問題を解決する方法は?いくつかの部分に分割してそれらの部分をオンデマンドでロードすることを考えていましたが、後でそれらをロードする方法がわかりません。ロードとそれらのコントロールの作業にアクセスできません。やりたいのはどういうわけかクライアント側、オンデマンドでそれらをロードします。したがって、最初は最初のタブにあるコントロールのみがロードされ、次にタブ2をクリックすると、このタブに関連付けられているコントロールがロードされます...など

しかし、どうすればそれを行うことができますか?基本的には主にクライアント側ですか?それらをdivに入れてdivに言うことはできますか、言われるまでロードしないでください、そして私が言った後、それはある種のページのロードを再び実行しますか?

前もって感謝します。

4

2 に答える 2

1

別のタブが選択されている場合は、ページの読み込みではなくオンデマンドでajaxの読み込みを実行できます。これは、jqueryからサーバー側のメソッドを呼び出す方法のサンプルです。

JqueryAjax読み込み画像

jqueryajaxは特定のdivをロードします

于 2012-11-14T13:03:18.353 に答える
0

最初のページの読み込み時にすべてを実行するのではなく、コストのかかるコントロールの読み込みタスクを関連するタブ ハンドラーに移動します。これはサーバー側で行うことができ、事後にクライアントから不必要に戻る必要がなくなります。

パフォーマンスの低下は、最初のページの読み込みでサーバー側で発生しています。この場合、クライアント中心のソリューションは機能しません。パフォーマンス ヒットはすでに発生しています。AJAX を使用することもできますが、あなたの場合、これはおそらくすべてのデータ アクセス ロジックを書き直すことを意味します。

于 2012-11-14T12:55:24.213 に答える