2012-06-26 75 views
0

我在Razor視圖引擎上使用jQuery的asp.net MVC3。我有jquery選項卡控件,並在選項卡導航我加載myusercontrol.cshtml頁面。在myusercontrol.cshtml的網頁我有

$(document).ready(function(){ loadjqgrid();});. 

在每個選項卡中點擊我這樣做

$("#fragment-1").load("MyAction_in_controller"); 

這只是在第一次調用時我單擊該選項卡,在第二次點擊控制不通過到控制器。相反沒有任何反應 請指教。

非常感謝。

+0

請張貼一些HTML,所以我們可以得到更好的瞭解情況 –

回答

3

$(document).ready只在DOMContentLoaded事件中獲得觸發器,該事件只能發生一次。加載新內容不能觸發該事件。

相反,將其背後的代碼抽象爲一個函數並調用該函數。

function domready() { 
    // do stuff 
} 

$(document).ready(domready); 

$("#fragment-1").load("MyAction_in_controller",domready); 

但是,有更多的方法來處理它,比如委派事件。

+0

每一個標籤項處理與MVC模型單獨單獨的頁面/用戶控件交易。希望以上建議wontwork.Please糾正我,如果我錯了。 – ComputerSurgeon

+0

@ComputerSurgeon對不起,我不明白你在說什麼。如果頁面沒有完全重新加載,則不會再次觸發DOMContentLoaded事件。 –

0

如果我正確地理解了你,你想運行loadjqgrid每次加載事件後單擊一個選項卡?如果是這樣,你可以這樣做:

$("#fragment-1").load("MyAction_in_controller",loadjqgrid);

相關問題