0

Razorビューエンジンのasp.net MVC3でjqueryを使用しています。jquery タブ コントロールがあり、タブ ナビゲーションで myusercontrol.cshtml ページを読み込みます。私が持っているmyusercontrol.cshtmlページに

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

各タブをクリックすると、これを行います

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

これは、タブをクリックしたときに初めて呼び出され、2 回目のクリックでコントロールがコントローラーに渡されません。代わりに、何も起こりません。ご意見をお聞かせください。

よろしくお願いします。

4

2 に答える 2

3

$(document).readyDOMContentLoaded一度だけ発生する可能性のあるイベントでのみトリガーを取得します。新しいコンテンツを読み込んでも、そのイベントをトリガーすることはできません。

代わりに、その背後にあるコードを関数に抽象化し、その関数を呼び出します。

function domready () {
    // do stuff
}

$(document).ready(domready);

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

ただし、委任されたイベントなど、それを処理するためのより良い方法がおそらくあります。

于 2012-06-26T14:15:36.020 に答える
0

私があなたを正しく理解していればloadjqgrid、ロードイベントの後にタブがクリックされるたびに実行したいですか? もしそうなら、あなたはすることができます:

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

于 2012-06-26T14:43:05.287 に答える