- PR -

UserInteractive時と同様のMsgBox()を表示したい

1
投稿者投稿内容
だいあん
会議室デビュー日: 2007/09/26
投稿数: 4
投稿日時: 2007-09-26 13:56
いつもお世話になっております。

質問内容は、ASP.NET内のScriptからメッセージボックスを表示する場合に、
UserInteractiveで実行時には正常動作する
MsgBox("テストエラーメッセージ", vbExclamation, "テストアラートタイトル")
を再現できないか、ということです。

過去のスレッドを参照してみると
alert()やconfirm()を使うやり方が紹介されていますが、この方法ではアイコンやメッセージボックスを設定することができせん。

設定を行いたい理由としては、ASP.NETで開発している部分が既存のレガシーASPシステムの拡張機能にあたり、レガシーと.NETで違う見え方のメッセージボックスが表示されるのは好ましくないからです。

開発環境はVisualStudio2005 Pro 言語はVBを使用しています。

良い手法があればぜひご教授お願いします。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2007-09-26 14:00
引用:

設定を行いたい理由としては、ASP.NETで開発している部分が既存のレガシーASPシステムの拡張機能にあたり、レガシーと.NETで違う見え方のメッセージボックスが表示されるのは好ましくないからです。


基本的に無理だと思いますし、そこに努力しない方が良いと思います。
逆に質問なんですが「レガシーASPシステム」ではそれを実現できていたという意味ですか?
_________________
囚人のジレンマな日々
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-09-26 19:16
もしかしてですが、レガシ ASP と ASP.NET の差ではなく、JavaScript と VBScript の差のお話なのかなと思いました。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
だいあん
会議室デビュー日: 2007/09/26
投稿数: 4
投稿日時: 2007-09-27 08:32
レスが遅くなって申し訳ありません。

>囚人さん
引用:
基本的に無理だと思いますし、そこに努力しない方が良いと思います。
逆に質問なんですが「レガシーASPシステム」ではそれを実現できていたという意味ですか?



>じゃんぬねっとさん
引用:
もしかしてですが、レガシ ASP と ASP.NET の差ではなく、JavaScript と VBScript の差のお話なのかなと思いました。



じゃんぬねっとさんの仰るとおり、レガシーASPではJavaScriptと別にメッセージボックスを表示するためにVBScriptを使用しています。
故にひとつのHTML内に2種類のスクリプトが混在していました。
だいあん
会議室デビュー日: 2007/09/26
投稿数: 4
投稿日時: 2007-09-27 08:39
なんとか解決致しました。

方法としては、エラーメッセージ専用のユーザーコントロールを追加してやり、親画面からユーザーコントロール内の変数を制御することで実現しました。

親画面
コード:
Err_msg.strErrMsg = "エラーメッセージ1"



err_msg.ascx.vb:
コード:
Public strErrMsg As String = ""



err_msg.ascx:
コード:
<% If strErrMsg <> "" Then%>
<script type="text/vbscript" language="vbscript">
	MsgBox "<%=err_msg%>" , vbExclamation, "エラータイトル"
</script>
<%End If%>




親画面にはすでにjavascriptが記述されいるのでRespoonse.writeでVbScriptを追加しようとするとエラーになりました。そこで、ユーザーコントロールを作成し、そこにVBScriptの記述を入れてやるとエラーを回避できました。

結果として出力されるHTMLソースは親画面で書いてもユーザーコントロールで書いても同じだとは思うのですが・・・。
ブラウザ上でJavaScriptとVBScriptが共存できない致命的な問題がない限りは上記の方法で解決としようかと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-09-28 22:03
引用:

だいあんさんの書き込み (2007-09-27 08:39) より:

親画面にはすでにjavascriptが記述されいるのでRespoonse.writeでVbScriptを追加しようとするとエラーになりました。そこで、ユーザーコントロールを作成し、そこにVBScriptの記述を入れてやるとエラーを回避できました。

結果として出力されるHTMLソースは親画面で書いてもユーザーコントロールで書いても同じだとは思うのですが・・・。
ブラウザ上でJavaScriptとVBScriptが共存できない致命的な問題がない限りは上記の方法で解決としようかと思います。


違いますよ。
親画面で Respose.Write すると、どこにコードを書いているのか定かではありませんが、イベントハンドラあたりに書いているでしょうから、HTML 要素の外に書かれているのですよ。
だいあん
会議室デビュー日: 2007/09/26
投稿数: 4
投稿日時: 2007-10-01 08:56
引用:

Jittaさんの書き込み(2007-09-28 22:03)より:

違いますよ。
親画面で Respose.Write すると、どこにコードを書いているのか定かではありませんが、イベントハンドラあたりに書いているでしょうから、HTML 要素の外に書かれているのですよ。



なるほど、HTML要素の外に書かれようとするからエラーになるですね。
JavaScriptとVBScriptが共存できないという記事を読んだ記憶があるのでそのせいだと思い込んでいました。

勉強になります、ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)