2012-06-26 74 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);

相关问题