none
ダイアログの諸設定 RRS feed

  • 質問

  • ASP.NET 4.0(Webアプリ)でボタン押下して表示させるダイアログの設定について教えてください。


    <asp:Button>のonclientclickで"return confirm(・・・)"を記述してダイアログ表示させておりますが、

    ブラウザのタイトルバー(IE)や、ボタンの選択初期値を設定することはできますか?

    そもそもブラウザ間で表示のされ方が異なりますが、できるだけ近づける方法はないのでしょうか?

    初歩的な質問になりますが、よろしくお願いします。

    2015年4月15日 3:20

回答

  • > GridView内のボタン押下して、確認画面表示させ、"OK"か"Cancel"ボタンを押下すと、
    > "OK" :クラスメソッドを実行
    > "Cancel":何もせず終了

    それだけだったら confirm で十分ですよね。
     
    それ以外に、最初の質問にあった、

    > ブラウザのタイトルバー(IE)や、ボタンの選択初期値を設定することはできますか?
    > そもそもブラウザ間で表示のされ方が異なりますが、できるだけ近づける方法はないのでしょうか?

    ということも、confirm に替えて、それなりの勉強をして工数をかけて自力でダイアログを実装してまで行う必要がある要件ということなんでしょうか?

    であれば、Ajax Control Toolkit の ModalPopupExtender や jQuery UI の Dialog など既存のものを探して使うのが、ゼロから自力でコードを書いて作るよりは簡単にできると思います。

    「ブラウザのタイトルバー(IE)」というのが何だか分かりませんが、それ以外は少なくとも外見上の要件は満たせると思います。

    ただし、「"OK" :クラスメソッドを実行」という処理をコーディングするのはそう簡単ではないと思います。

    まずは、質問者さんの要件に合わせて、Ajax Control Toolkit の ModalPopupExtender を使うのか、jQuery UI の Dialog を使うのか、それとも別のものを使うのか、どれが適当か検討してみてください。

    それが決まってから、その使い方などの質問などがありましたら、別に新しいスレッドを立てて質問していただければと思います。

    • 回答の候補に設定 星 睦美 2015年4月16日 0:45
    • 回答としてマーク rakman 2015年4月16日 6:36
    2015年4月15日 7:55

すべての返信

  • > <asp:Button>のonclientclickで"return confirm(・・・)"を記述してダイアログ表示させておりますが、
    > ブラウザのタイトルバー(IE)や、ボタンの選択初期値を設定することはできますか?
    > そもそもブラウザ間で表示のされ方が異なりますが、できるだけ近づける方法はないのでしょうか?

    できません。

    confirm(...) というのは ASP.NET とは直接関係ないです。ブラウザ側の機能ですのでブラウザ独自の実装になってます。

    局所的な質問だけではなく、全体的なシナリオを含めてやりたいことをできるだけ詳しく書くことをお勧めします。そうすれば、confirm(...) ではダメだけど、やりたいことはこうすれば実現できると言うような代案が出てくるかもしれません。

    2015年4月15日 4:55
  • 勉強になりました。ありがとうございます。

    全体的なシナリオとしては

    GridView内のボタン押下して、確認画面表示させ、"OK"か"Cancel"ボタンを押下すと、

    "OK" :クラスメソッドを実行

    "Cancel":何もせず終了

    という処理をしようとしています。

    全ブラウザ共通の表示ということであれば、別途<Content>やそれを制御するコードビハインドが必要になりますよね?

    2015年4月15日 6:27
  • > GridView内のボタン押下して、確認画面表示させ、"OK"か"Cancel"ボタンを押下すと、
    > "OK" :クラスメソッドを実行
    > "Cancel":何もせず終了

    それだけだったら confirm で十分ですよね。
     
    それ以外に、最初の質問にあった、

    > ブラウザのタイトルバー(IE)や、ボタンの選択初期値を設定することはできますか?
    > そもそもブラウザ間で表示のされ方が異なりますが、できるだけ近づける方法はないのでしょうか?

    ということも、confirm に替えて、それなりの勉強をして工数をかけて自力でダイアログを実装してまで行う必要がある要件ということなんでしょうか?

    であれば、Ajax Control Toolkit の ModalPopupExtender や jQuery UI の Dialog など既存のものを探して使うのが、ゼロから自力でコードを書いて作るよりは簡単にできると思います。

    「ブラウザのタイトルバー(IE)」というのが何だか分かりませんが、それ以外は少なくとも外見上の要件は満たせると思います。

    ただし、「"OK" :クラスメソッドを実行」という処理をコーディングするのはそう簡単ではないと思います。

    まずは、質問者さんの要件に合わせて、Ajax Control Toolkit の ModalPopupExtender を使うのか、jQuery UI の Dialog を使うのか、それとも別のものを使うのか、どれが適当か検討してみてください。

    それが決まってから、その使い方などの質問などがありましたら、別に新しいスレッドを立てて質問していただければと思います。

    • 回答の候補に設定 星 睦美 2015年4月16日 0:45
    • 回答としてマーク rakman 2015年4月16日 6:36
    2015年4月15日 7:55
  • はい、十分です。

    ボタン誤作動防止の為ですので、工数かけて作るほどのものではないです。

    ブラウザのタイトルバー(IE)は、タイトル上の表示内容を変更できないかということです。

    >Ajax Control Toolkit の ModalPopupExtender や jQuery UI の Dialog 

    これらキーワードは頭に入れておきます。

    ありがとうございます。

    2015年4月15日 8:30