「Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
IE限定機能 †
- サーバ側でShowModalScreen?メソッドを呼び出す。
- すると、クライアント側でwindow.showModalDialog?を呼出し、ダイアログを表示する。
- なお、クライアント側からJavaScript?などで直接起動したい場合は、
GetScriptToShowModalScreen?メソッドを使用して、起動JavaScript?を生成できる。
- また、以下の3つのメソッドを使用して、「業務モーダル ダイアログ」を閉じることができる。
- CloseModalScreen?メソッド
現在の画面を閉じる。親画面に戻った際に、ポストバックを実行し後処理を実行する。
- CloseModalScreen_NoPostback?メソッド
現在の画面を閉じる。親画面に戻った際に、ポストバックをせず後処理を実行しない。
- CloseModalScreen_WithAllParent?メソッド
- ルートの画面まで、全てのダイアログ画面を閉じる。
- ルートの画面に戻った際に、ポストバックを実行し後処理を実行する。
- Modernブラウザ対応版では、このAPIは機能しないので注意する。
Modernブラウザ対応 †
最新版では、IE以外のブラウザでは擬似ダイアログ(Window.Open)を使用するようになった。
詳細 †
処理方式 †
業務結果を親画面側のサーバサイドのイベントハンドラで処理可能になっている。
(このため、クライアントサイド・スクリプトを使用せずにダイアログ処理が可能)
- ポストバックで閉じられた場合、「業務モーダル ダイアログの後処理メソッド」(UOC_ModalDialog_End)が、呼び出される。
- この処理は、「画面コード親クラス1」のUOC_ModalDialog_Endメソッドを、「画面コードクラス」でオーバーライドして実装する。
- ただし、CloseModalScreen_NoPostback?メソッドで「業務モーダル ダイアログ」を閉じた場合、後処理は実行されない。
- ボタン履歴情報記録機能により、引数から、親画面で[x]ボタン、子画面で[y]ボタンが押されたことを確認できる。
注意事項 †
DialogFrame?.htm → DialogLoader?.htm †
showModalDialog?()メソッドで表示したダイアログ画面で、PostBack?を可能にするための対策として、
DialogFrame?.htm → DialogLoader?.htm経由で業務モーダル・ダイアログをロードしている。
モーダルとモードレス画面の動作の違い †
showModalDialog?で表示された業務モーダル・ダイアログは、
- UI上のテキストのカット&ペーストが出来なかったり
- ダウンロードなどを行うと、親画面とUIが異なるケース
等があるので、この機能を利用する際は注意してください。
関連 †