グリッドとフィルターを含むページがあります。フィルターはいくつかの場所で再利用されます。そのため、フィルターを別のビューに移動し、 を使用して含めることにしHtml.RenderAction
ました。
ページが完全に読み込まれると、すべてが正常に機能します。ただし、イベントでグリッドをフィルタリングしたいのですが$(document).ready
、ここで問題が発生します。親のビューには子ビューのオブジェクトと関数が表示されず、その逆も同様です。
したがって、子ビューで次のようなことを試みると:
$(document).ready(function () {
if(window.onFilterIsReady) {
window.onFilterIsReady();
}
});
そしてメインビューで:
function onFilterIsReady() {
filter();
}
onFilterIsReady
見つからない。
それはそれが機能するはずの方法ですか?
編集:問題を理解してください。上記のシナリオの問題の理由は、子ビューの $(document).ready が呼び出されたときに、親ビューがまだ読み込まれていないことです。したがって、関数 onFilterIsReady は実際には存在しません。
親から子に電話すると、すべて正常に動作します。(以前、動的に生成された変数名に誤りがあり、それが原因でアクセスできませんでした)