したがって、私はMVC以外のWeb開発にかなり慣れておらず、iFrameに問題があります。
メインページには、jQueryを介してiframeを表示および非表示にするチェックボックスがあります。iFrameのコードビハインドにはloadStuff()
、iFrameが表示されている場合にのみ実行したいメソッドがあります。つまり、そのままにしておきたくないpage_load
のです。そうすると、メインページが更新されるたびに実行されてしまうからです。
そのため、メインウィンドウのチェックボックスがオンになっているかどうかを確認し、チェックされている場合はloadStuff()
メソッドを実行することを考えていました。
問題は、iFrameのコードビハインドからそのチェックボックスにアクセスする方法がわからないことです。いくつかのバリエーションがthis.Parent.FindControls()
機能するようですが、私はそれで運がありませんでした。
これが私が持っているものの少しです:
メインページ(mainpage.aspxと呼びましょう):
<input type="checkbox" id="showIFrame" onclick="if(this.Clicked) $('#iframe').show(); else $('#iframe').hide();" />
//...
<div id="iframe" style="display:none;">
<iframe runat="server" id="iframeNetSheet" .../></iframe>
</div>
そのため、そのチェックボックスをクリックすると、iFrameが表示されます。そのとき、loading関数を呼び出します。現在のところ、これはiFrameのpage_loadにあり、親ページが読み込まれるたびにヒットします。
誰かが私を正しい方向に向けさせることができますか?