2

ModalPopupextender Ajax コントロールを使用して、モーダル ポップアップで aspx ページを開きます。aspx ページは、以下のコードに示すように iframe で開かれます。iframe に読み込まれるコンテンツは動的であるため、iframe に固定の高さを与えることはできません。ポップアップが開かれるたびに、内容に応じて高さを調整できるようにしたいです。iframe の高さを変更する機能があり、iframe がウィンドウ自体に取り込まれる他のページでそれを正常に使用していますが、iframe が POPUP で開かれているときに高さを調整できません。私はすでにwindow onload、iframe onloadイベントを試しましたが成功しませんでした。

     <asp:ModalPopupExtender ID="ModalPopupExtender2" BackgroundCssClass="transparentBG"
        runat="server" CancelControlID="ButtonCancel" OkControlID="ButtonDone" 
        TargetControlID="btnAddNew" PopupControlID="DivAddWindow" Drag="true"  >
     </asp:ModalPopupExtender>
     <div class="popup_Buttons" style="display: none">
      <input id="ButtonDone" value="Done" type="button" />
      <input id="ButtonCancel" value="Cancel" type="button" />
     </div>
     <div id="DivAddWindow" style="display: none;">

     <iframe id="IframeEdit" scrolling="no" src="MasterPage.aspx"  width="700px">
    </iframe>
   </div>

誰かがこれを解決するための解決策を教えてくれれば、本当に感謝しています。

4

1 に答える 1

1

これを試して:

 <iframe id="IframeEdit" onload="iframeLoaded()" scrolling="yes" src="MasterPage.aspx"  width="700px">
</iframe>

次の JavaScript 関数は、iframe コンテンツから高さを取得します。

<script type="text/javascript">
function iframeLoaded() {
    var iFrameID = document.getElementById('IframeEdit');

    if (iFrameID) {
        iFrameID.height = "";
        iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px";
    }
}
</script>  

ModalPopupextenderでもチェックしましたが、動作します。

于 2012-05-03T06:05:15.950 に答える