2013-01-31 60 views
0

我有一個頁面(又名PAGE1),有一個複雜的網格(如jqgrid),你可以通過結果過濾/排序/頁面。 當你點擊網格上的一行時,我想要加載/獲取一張我在另一個視圖(又名PAGE2)中的表單並將其加載到PAGE1上的DIV容器中。我想這樣做,而不是重定向到PAGE2,因爲我想保持PAGE1的狀態(即:排序&分頁結果)。JQuery/JSON和MVC模型可以共存嗎?

PAGE2有一個加載頁面的模型,允許用戶編輯字段並提交更改。 我真的很喜歡MVC的開箱即用功能,它可以驗證字段並突出顯示有問題的字段(除其他外),但是MVC(開箱即用)會進行回發。這將重新加載整個頁面,所以現在瀏覽器在PAGE2上,PAGE1消失了(與它的狀態一起)。

有沒有一種方法以這樣的方式來加載PAGE2(不含iframe的!)這回發只刷新PAGE1它在加載的DIV?當我將.get()PAGE2轉換成PAGE1上的一個DIV時 - 如果PAGE2中有任何插件,當我關閉PAGE2時,似乎打破PAGE1 ....不知道這兩者是否有關係。

我希望這是有道理的 - 在此先感謝!

+0

您是否閱讀了有關backbone.js或angular.js的內容? –

+0

我已經看到了angular.js VS2012自動添加到項目中,但沒有玩過它。沒有聽說過骨幹。我在用這些腳本究竟在尋找什麼?有任何示例代碼? – Losbear

+0

這些都基於MVC方法,並動態加載網頁/部分網頁上的內容,而無需刷新頁面。 您可以在http://backbonejs.org/ –

回答

0

當我需要做這樣的事情,我做了Html.RenderPartial使用Ajax.BeginForm在頁面上 - 剃刀幫手AJAX處理了很多,但因爲你是漸入雜草,我不知道你爲什麼不能只是自己設置ajax調用(onSuccess,onFailure)。

+0

的RenderPartial瞭解Backbone.js的不會幫助,因爲它不加載「PAGE2」動態,這是我需要的,因爲PAGE2可能是根據什麼行的用戶的其中一個頁面點擊網格。我嘗試使用AJAX加載PAGE2,並且工作正常 - 但如上所述,當您提交表單時,回發會將頁面重新放回原樣,放棄page1。不知道如何限制回發到PAGE2容器(位於PAGE1)。我想知道這是什麼「Angular」 - 是由Mandeep Jain提出的。 – Losbear

+0

如果您的ajax表單導致頁面刷新,則說明有問題。您應該能夠非常清楚地定義頁面的哪些部分得到更新,以及何時您正在挖掘JavaScript。 退房http://stackoverflow.com/questions/1570127/render-partial-view-using-jquery-in-asp-net-mvc - 你能看到最多的回答與替換div的內容來自控制器中特定操作的PartialViewResult的結果。 – da7rutrak

+1

感謝您的鏈接 - 它給了我一些方向。我最終使用.get()將partialview加載到PAGE1的div上,然後加載到PAGE2上,使用AJAX獲取partialview的HTML並自行替換。很棒。謝謝! – Losbear

相關問題