Open棟梁 wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • 業務画面をモーダル・ダイアログで表示する機能
  • サーバ側で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が異なるケース

等があるので、この機能を利用する際は注意してください。

関連


添付ファイル: fileBusiness_Dialog.png 32件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-07-02 (日) 18:21:54 (324d)