2016-12-02 57 views
1

雖然試圖將我的網站創建爲動態並儘可能少地重新載入頁面,但我已經開始喜歡使用帶有AJAX的局部視圖 - 使用AJAX重新加載或更新部分頁面GET或POST。然而(一般來說MVC是新手)我開始想知道 - 這是正確的方法。正確使用MVC中的部分視圖

說有是所給情景:

我有一個表,這個表我有一個按鈕「查看詳細信息」。當用戶點擊這個按鈕時,我想從服務器檢索信息並將其顯示在模態窗口中。

我可以做下列之一:

  • 從模型創建細則局部視圖,執行AJAX GET就按一下按鈕從中檢索表格,並把它的模態窗口內。
  • 創建一個操作,返回JSON與必要的信息,使用AJAX來獲取它並填充它的模態形式。

哪種方法是正確的?

回答

1

我總是使用局部視圖和AJAX動作。說實話 - 我不知道你應該返回什麼樣的大HTML來開始考慮後端性能。

請記住,在這兩種情況下,您都會返回文本 - HTML或JSON。但是從數據庫(或者從你得到的任何地方)獲取這些值需要同樣的性能。

更重要的是,連接字符串並在前端製作HTML並不是基本方法,應該只在特殊的地方使用。

1

您的問題實際上是基於意見的。但我可以說這取決於情況。

如果你有很高的性能BackEnd - 最好是在控制器上呈現你的視圖並返回html。例如,如果您使用IE 8等傳統瀏覽器,這是最好的選擇。

如果你沒有選擇高速後端 - 你可以返回jsonxml,然後用js模板,使makup你需要的。

+1

不要忘了「高性能」也受到用戶負載的影響。此外,還有一些緩存需要考慮,包括參數的變化。這個意見不僅基於此,它也太廣泛了。 – krillgar

+1

@krillgar我指的是它的每一個字 –