2011-08-05 224 views
0

我正在通過MVC 3 AJAX渲染另一個視圖中的部分視圖。但渲染速度很慢。對於1350條記錄大約需要5-8秒。我檢查了我的數據&業務層,並沒有發現任何問題。當部分表格被插入到主視圖中時,問題似乎就會出現。我正在使用Razor作爲視圖。 有什麼建議嗎?部分視圖的緩慢渲染

+1

你有沒有嘗試過返回JSON而不是視圖,並通過json循環來代替,也許使用jquery模板?如果問題是呈現,那麼我總是發現JSON是最通用的。 – davethecoder

+0

@ minus4:您是否建議我在控制器中創建jason對象,然後將其返回以查看並解析它以形成視圖? – Vipul

+1

我說,如果你使用AJAX,它真的很簡單,容易,只是帶回HTML,但它也很容易使用JSON和更少的問題,沒有部分視圖等需要我不能想到你的網頁會慢的原因渲染我也在幾個網站上使用jquery模板,我得到一個請求的jQuery模板,然後用json數據填充它。無論哪種方式它的一個選項你的行動將是一個公共的JsonResult而不是行動的結果,你返回Json(模型); – davethecoder

回答

1

我發現「痛苦緩慢」的部分來自推送到客戶端的數據量,而不是1350條記錄,正如您找到的那樣。考慮使用技術來最大限度地減少通過線路和底層HTML傳遞的數據量。 JSON可以通過使用AJAX和使用JavaScript庫通過JavaScript構建UI來提供幫助。或者,而不是JSON,只是對局部視圖進行AJAX請求,並異步渲染局部視圖,這也會給用戶更豐富的感覺;他們可以訪問該頁面,但必須等待1350結果。

HTH。

+0

感謝您的建議。第二種方法可能沒有用,因爲屏幕用於搜索和提取數據庫中的記錄。結果集將通過AJAX顯示,而無需刷新/回發整個頁面。 我想我必須嘗試第一個建議。 我是JSON的新手。任何教程將幫助... – Vipul

+0

教程取決於你想要使用的框架,你也使用JQuery,還是直MS AJAX? –

+0

截至目前,它是MVC中的AJAX。但如果我使用JSON,我認爲JQuery將是更好的選擇。 – Vipul