2011-08-05 10 views
0

MVC 3 AJAXを使用して別のビューで部分的なビューをレンダリングしています。しかし、レンダリングは非常に遅いです。 1350レコードの場合は約5-8秒かかります。私は自分のデータ&のビジネス層をチェックしており、何の問題も見つかりませんでした。この問題は、部分フォームがメインビューに「挿入」されているときに発生しているようです。私はビューのために剃刀を使用しています。 アドバイスはありますか?パーシャルビューのスローレンダリング

+1

jsonの代わりにjsonの代わりにJSONを返すようにしましたか?問題がレンダリングされている場合、JSONは最も汎用性の高いツールです。 – davethecoder

+0

@ minus4:コントローラーでjasonオブジェクトを作成し、それを表示して戻して解析してビューを形成するようにアドバイスしていますか? – Vipul

+1

あなたのAJAXを使用すると、本当にシンプルで簡単にHTMLを取り戻すことができますが、そのJSONを使用するのが本当に簡単で問題が少なく、パーシャルビューなども必要ありません。なぜページが遅くなるのか私はいくつかのサイトでもjqueryテンプレートを使いました。そして、jqueryテンプレートを1つのリクエストで取得し、jsonデータで埋めます。どちらの方法でも、あなたのアクションはアクション結果ではなくpublic JsonResultになり、Json(モデル)を返します。 – davethecoder

答えて

1

「痛いほど遅い」という部分は、あなたが見つけたように、クライアントにプッシュされるデータの量であり、1350個のレコードではないことがわかりました。テクニックを使用して、ワイヤとその下にあるHTMLを通過するデータの量を最小限に抑えることを検討してください。 JSONはAJAXを使用し、JavaScriptライブラリを使用してJavaScriptを使用してUIを構築することで役立ちます。

または、JSONの代わりに部分ビューにAJAX要求を行い、部分ビューを非同期にレンダリングすると、ユーザーにはより豊かな感触が与えられます。彼らはページにアクセスできますが、1350の結果を待たなければなりません。

HTH。

+0

提案していただきありがとうございます。 2番目のアプローチは、画面がDBのレコードの検索と取得に使用される場合には有用ではないかもしれません。結果セットはページ全体のリフレッシュ/ポストバックなしでAJAXを介して表示されます。 私は最初の提案を試してみなければならないと思います。 私はJSONを初めて使用しています。任意のチュートリアルが役立ちます... – Vipul

+0

チュートリアルは、あなたが使いたいフレームワークに依存していますので、JQuery、まっすぐなMS AJAXを使用していますか? –

+0

今のところMVCのAJAXでした。しかし、JSONを使用する場合は、JQueryを使用する方が良いと思います。 – Vipul

関連する問題