「[[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"

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS