.net column

.NET開発者のためのブログメディア
パッケージ

ASP.NETとC#でメッセージボックスを表示する方法

2020年03月25日

メッセージボックスはコーディング最中の動作確認や、ユーザーへの情報通知など、多様な使い方があります。言語の違いによって、実装方法は多少異なりますが、どの言語でも似たような機能が備わっていることから、使用頻度の高さがうかがえるでしょう。

PG
メッセージボックスをASP.NETで使いたいんですけど、どうやって実装するんですか?
PL
ASP.NETでは、厳密にメッセージボックスは使用できないんです……しかし、いくつか方法があるようなので見ていきましょう。

ASP.NETでMsgBoxは使用できない

サーバーサイドの言語であるASP.NETでは、2019年現在MsgBoxを利用することはできません。ただし、JavaScriptを併用することによりMsgBoxと同等の動作をさせることは可能です。その場合はページ読み込み時のonLoadイベントのタイミングで起動することになります。そもそも、サーバーサイドではメッセージボックスを使用して表示する意味があまりないため、クライアントサイドの処理で実行することが一般的です。

ClientScript.RegisterClientScriptBlockを使用する方法

ASP.NETではイベントハンドラによるタイミングで、任意のJavaScriptを実行させることができます。ClientScript.RegisterClientScriptBlockは、ブラウザに表示される前のタイミングで実行させるイベントハンドラです。これと紐づけたJavaScriptにメッセージボックスを表示する処理を記述すれば、ASP.NETでメッセージボックスを表示させることができます。また、画面表示が終わった後でのタイミングであれば、ClientScript.RegisterStartupScriptを利用すると良いでしょう。

このコードではボタンイベントにより、画面表示前にスクリプトが実行され、メッセージボックスが表示されます。

PG
ASP.NET自体でメッセージボックスは使えないんですね。
PL
そうですね。代替方法としてJavaScriptを併用する方法がよく使われているので、実行タイミングなどをよく理解して使っていくことをおすすめします。

イベントハンドラとJavaScriptをうまく利用する

ASP.NETではC#の記述によるメッセージボックスは使用できませんが、JavaScriptをうまく併用していくことで、メッセージボックスと同等の表示を行うことが可能です。ただし、あくまでもクライアントサイドでの処理であることを理解しておく必要があり、サーバーサイドの処理で使うことはできないということを留意しておきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)