- - PR -
UserInteractive時と同様のMsgBox()を表示したい
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-09-26 13:56
いつもお世話になっております。
質問内容は、ASP.NET内のScriptからメッセージボックスを表示する場合に、 UserInteractiveで実行時には正常動作する MsgBox("テストエラーメッセージ", vbExclamation, "テストアラートタイトル") を再現できないか、ということです。 過去のスレッドを参照してみると alert()やconfirm()を使うやり方が紹介されていますが、この方法ではアイコンやメッセージボックスを設定することができせん。 設定を行いたい理由としては、ASP.NETで開発している部分が既存のレガシーASPシステムの拡張機能にあたり、レガシーと.NETで違う見え方のメッセージボックスが表示されるのは好ましくないからです。 開発環境はVisualStudio2005 Pro 言語はVBを使用しています。 良い手法があればぜひご教授お願いします。 | ||||||||||||
|
投稿日時: 2007-09-26 14:00
基本的に無理だと思いますし、そこに努力しない方が良いと思います。 逆に質問なんですが「レガシーASPシステム」ではそれを実現できていたという意味ですか? _________________ 囚人のジレンマな日々 | ||||||||||||
|
投稿日時: 2007-09-26 19:16
もしかしてですが、レガシ ASP と ASP.NET の差ではなく、JavaScript と VBScript の差のお話なのかなと思いました。
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2007-09-27 08:32
レスが遅くなって申し訳ありません。
>囚人さん
>じゃんぬねっとさん
じゃんぬねっとさんの仰るとおり、レガシーASPではJavaScriptと別にメッセージボックスを表示するためにVBScriptを使用しています。 故にひとつのHTML内に2種類のスクリプトが混在していました。 | ||||||||||||
|
投稿日時: 2007-09-27 08:39
なんとか解決致しました。
方法としては、エラーメッセージ専用のユーザーコントロールを追加してやり、親画面からユーザーコントロール内の変数を制御することで実現しました。 親画面
err_msg.ascx.vb:
err_msg.ascx:
親画面にはすでにjavascriptが記述されいるのでRespoonse.writeでVbScriptを追加しようとするとエラーになりました。そこで、ユーザーコントロールを作成し、そこにVBScriptの記述を入れてやるとエラーを回避できました。 結果として出力されるHTMLソースは親画面で書いてもユーザーコントロールで書いても同じだとは思うのですが・・・。 ブラウザ上でJavaScriptとVBScriptが共存できない致命的な問題がない限りは上記の方法で解決としようかと思います。 | ||||||||||||
|
投稿日時: 2007-09-28 22:03
違いますよ。 親画面で Respose.Write すると、どこにコードを書いているのか定かではありませんが、イベントハンドラあたりに書いているでしょうから、HTML 要素の外に書かれているのですよ。 | ||||||||||||
|
投稿日時: 2007-10-01 08:56
なるほど、HTML要素の外に書かれようとするからエラーになるですね。 JavaScriptとVBScriptが共存できないという記事を読んだ記憶があるのでそのせいだと思い込んでいました。 勉強になります、ありがとうございました。 |
1