ASP.NETとC#でメッセージボックスを表示する方法
メッセージボックスはコーディング最中の動作確認や、ユーザーへの情報通知など、多様な使い方があります。言語の違いによって、実装方法は多少異なりますが、どの言語でも似たような機能が備わっていることから、使用頻度の高さがうかがえるでしょう。
- 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を利用すると良いでしょう。
1
2
3
4
5
6
|
protected void Button_Event_Test(object sender, EventArgs e)
{
string testScript = "alert('RegisterClientScriptBlockのスクリプトです。');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "key", testScript, true);
}
|
このコードではボタンイベントにより、画面表示前にスクリプトが実行され、メッセージボックスが表示されます。
- PG
- ASP.NET自体でメッセージボックスは使えないんですね。
- PL
- そうですね。代替方法としてJavaScriptを併用する方法がよく使われているので、実行タイミングなどをよく理解して使っていくことをおすすめします。
イベントハンドラとJavaScriptをうまく利用する
ASP.NETではC#の記述によるメッセージボックスは使用できませんが、JavaScriptをうまく併用していくことで、メッセージボックスと同等の表示を行うことが可能です。ただし、あくまでもクライアントサイドでの処理であることを理解しておく必要があり、サーバーサイドの処理で使うことはできないということを留意しておきましょう。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(新宿駅) -
システム開発/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(新宿駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円神奈川県横浜市(桜木町駅) -
デバック、テスト項目の作成/神奈川県横浜市/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円神奈川県横浜市(桜木町駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代前半の方活躍中/経験1年以上の方活躍中】/在宅勤務
月給29万~34万円東京都新宿区(西新宿駅) -
基幹システム開発導入/東京都新宿区/【WEB面談可/C#経験者/20代後半~40代の方活躍中/経験年数不問】/在宅勤務
月給41万~50万円東京都新宿区(西新宿駅)