「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>ダイアログ表示機能]] * 目次 [#h170136f] #contents *概要 [#d8492951] **IE限定機能 [#y3db620a] -業務画面をモーダル・ダイアログで表示する機能 -サーバ側でShowModalScreenメソッドを呼び出す。 -すると、クライアント側でwindow.showModalDialogを呼出し、ダイアログを表示する。 -なお、クライアント側からJavaScriptなどで直接起動したい場合は、~ GetScriptToShowModalScreenメソッドを使用して、起動JavaScriptを生成できる。 -また、以下の3つのメソッドを使用して、「業務モーダル ダイアログ」を閉じることができる。 --CloseModalScreenメソッド~ 現在の画面を閉じる。親画面に戻った際に、ポストバックを実行し後処理を実行する。 --CloseModalScreen_NoPostbackメソッド~ 現在の画面を閉じる。親画面に戻った際に、ポストバックをせず後処理を実行しない。 --CloseModalScreen_WithAllParentメソッド ---ルートの画面まで、全てのダイアログ画面を閉じる。 ---ルートの画面に戻った際に、ポストバックを実行し後処理を実行する。 ---Modernブラウザ対応版では、このAPIは機能しないので注意する。 **Modernブラウザ対応 [#l5491c1f] 最新版では、IE以外のブラウザでは擬似ダイアログ(Window.Open)を使用するようになった。 *詳細 [#l3b68f19] **処理方式概要 [#s5d38d65] **処理方式 [#s5d38d65] 業務結果を親画面側のサーバサイドのイベントハンドラで処理可能になっている。~ (このため、クライアントサイド・スクリプトを使用せずにダイアログ処理が可能) -ポストバックで閉じられた場合、「業務モーダル ダイアログの後処理メソッド」(UOC_ModalDialog_End)が、呼び出される。 -この処理は、「画面コード親クラス1」のUOC_ModalDialog_Endメソッドを、「[[画面コードクラス>レイヤの説明]]」でオーバーライドして実装する。 -ただし、CloseModalScreen_NoPostbackメソッドで「業務モーダル ダイアログ」を閉じた場合、後処理は実行されない。 -[[ボタン履歴情報記録機能]]により、引数から、親画面で[x]ボタン、子画面で[y]ボタンが押されたことを確認できる。 #ref(Business_Dialog.png,left,nowrap,業務モーダル・ダイアログ) **注意事項 [#m05aa985] ***DialogFrame.htm → DialogLoader.htm [#g90f7ebc] showModalDialog()メソッドで表示したダイアログ画面で、PostBackを可能にするための対策として、~ DialogFrame.htm → DialogLoader.htm経由で業務モーダル・ダイアログをロードしている。 ***モーダルとモードレス画面の動作の違い [#gaf2aec3] showModalDialogで表示された業務モーダル・ダイアログは、 -UI上のテキストのカット&ペーストが出来なかったり -ダウンロードなどを行うと、親画面とUIが異なるケース 等があるので、この機能を利用する際は注意してください。 *関連 [#zade135c] **[[IE11対応(ダイアログ表示機能)の差分取込の方法]] [#t7e5a7d0] **[[モダンブラウザ対応(ダイアログ表示機能)の差分取込の方法]] [#b82315e7] IP:148.67.233.114 TIME:"2019-12-23 (月) 15:01:36" REFERER:"https://opentouryo.osscons.jp/index.php?cmd=edit&page=%E6%A5%AD%E5%8B%99%E3%83%A2%E3%83%BC%E3%83%80%E3%83%AB%E3%83%BB%E3%83%80%E3%82%A4%E3%82%A2%E3%83%AD%E3%82%B0" USER_AGENT:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36"