ASP.NETでJavaScriptのアラートダイアログを表示する

ASP.NETで作ったWebアプリケーションで、JavaScriptのアラートダイアログを表示する方法についてちょっと苦労したので、紹介します。
最初は、C#のメッセージボックスを使ってダイアログを表示しようとしたのですが、ASP.NETでは使えません。
そのため、JavaScriptでダイアログを表示する方法を調べたのですが、情報を見つけるのに少し時間がかかりました。

今回は、ボタンがクリックされた時にJavaScriptのアラートを表示する方法を紹介します。

目次

  1. 単純なアラートダイアログ表示
  2. アラートダイアログ表示の有無をC#側で判断する

単純なアラートダイアログ表示

単純にボタンがクリックされた時に、アラートを必ず表示したいということであれば、ボタンコントロールのOnClientClickプロパティを設定するだけで実現できます。

aspx

<asp:Button ID="test" runat="server" OnClientClick="sayHello();" />

JavaScript(aspxファイル内に書きます)

<script>
function sayHello() {
    alert("Hello!");
}
</script>

アラートダイアログ表示の有無をC#側で判断する

しかし、条件によってアラートを表示するかどうか判断したい場合があると思います。
しかもJavaScriptではなく、C#側で判断したいケース。
私の場合もそうでした。。。
その場合は、もうちょっと手順を踏む必要があります。

手順

1. aspxファイルにScriptManagerタグを定義し、EnablePageMethodsプロパティをtrueに設定する。
2. ボタンコントロールに、OnClientClickプロパティを設定する。
3. aspx.csファイルに、JavaScriptから呼び出されるメソッドを定義する。
4. aspxファイルのscriptタグに、OnClientClickプロパティに指定するメソッドを定義する。

1. aspxファイルにScriptManagerタグを定義し、EnablePageMethodsプロパティをtrueに設定する。

aspxファイルに以下のようにScriptManagerタグを定義します。
JavaScriptからC#のメソッドを呼び出すためには、EnablePageMethodsプロパティをtrueにする必要があるので、trueに設定します。

aspx

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
2. ボタンコントロールに、OnClientClickプロパティを設定する。

アラートを表示したいボタンコントロールにOnClientClickプロパティを設定します。
値には、ボタンが押下された時に最初に呼び出されるJavaScriptのメソッドを設定します。

aspx

<asp:Button ID="test" runat="server" Text="クリック" OnClientClick="sayHello();" />
3. aspx.csファイルに、JavaScriptから呼び出されるメソッドを定義する。

aspx.csファイルに、JavaScriptから呼び出されるメソッドを定義します。
このメソッドは、staticメソッドである必要があります。
また、「System.Web.Services.WebMethod」属性を付与します。
JavaScript側へ戻り値を返すこともできます。

aspx.cs

[System.Web.Services.WebMethod]
public static bool sayHello(int count)
{
      return count == 0 ? true : false;
}
4. aspxファイルのscriptタグに、OnClientClickプロパティに指定するメソッドを定義する。

ボタンが押された時に、処理が渡るメソッドを、記述します。
このメソッドから、先ほどC#で定義したstaticメソッドへ処理が進みます。
ここでは、C#メソッドを呼び出した結果がコールバックとしてJavaScript側に返ってくるので、処理に成功した時に呼ばれるSuccessメソッドと失敗した時に呼ばれるErrorメソッドを定義しておきます。
JavaScriptからC#に引数を渡すこともできます。

JavaScript

<script>
        function sayHello() {
            PageMethods.sayHello(0, onSuccess, onError);
        }

        function onSuccess(result, userContext, methodName) {
            if (result === true) {
                alert("count is 0.");
            }
        }

        function onError(result, userContext, methodName) {
            // エラー時の処理
        }
    </script>

以上でアラートダイアログを表示することができます。

UMTP UMLモデリング技能試験 L1 合格

2016年9月11日(日)、

2週間前のJSTQBに続き、またまた試験を受けてきました。

今回は、UMTPという団体が開催しているUMLの試験です。

 

UMTPは、L1 - L4まで4段階ある試験で(L0もあるが無料で受験できるので割愛)、

私は、その第一段階であるL1試験を受けました。

結果はギリギリでしたが合格することができました。

これから受験される方に少しでも役に立つように、勉強方法や試験の感想などを書いていきます。

 

試験結果

合格得点:80%   取得得点:83%

【セクション別スコア】

開発プロセス/モデリングの基本概念    :100

要求定義モデリング(ユースケース図)      :100

構造モデリング(クラス図)           :87

振る舞いモデリング(シーケンス図)       :66

振る舞いモデリング(コミュニケーション図)   :100

振る舞いモデリング(ステートマシン図)     :66

振る舞いモデリング(アクティビティ図)     :100

実装モデリング(コンポーネント図)       :0

実装モデリング(配置図)            :100

複数の図を使用したモデリング(複数の図)    :75

 

 受験前の私のレベル

この試験勉強を始めるまでの私のUMLに関するレベルは、「実務でクラス図、フローチャート、シーケンス図などは多少作ったことがある。ただ、細かい記述の仕方や意味は分からないものも多い。」といった状態でした。

 

勉強法

試験のために行った勉強は以下です。

  1. [改訂版]UMLモデリング技能認定試験<入門レベル(L1)>問題集 -UML2.0対応を読み、問題を解く。
  2. ITトレメに掲載されているUMTP L1の問題を解く。

上記の2つです。

 

まず、1の方は、解説部分をさらっと読み、問題を二回ほど解きました。結構分厚い本なので、解説部分はあまり熟読せずに、問題を多く解いた方が良いと思います。私は、2周問題を解きました。

 

[改訂版] UMLモデリング技能認定試験<入門レベル(L1)>問題集 -UML2.0対応

[改訂版] UMLモデリング技能認定試験<入門レベル(L1)>問題集 -UML2.0対応

 

 

2の方は、ITトレメというサイトにUMTP L1の問題が64題載っているので、1度だけですが、全て解きました。実際の試験でもITトレメに掲載されている問題によく似た問題がいくつか出題されていました。

 

ITトレメ − @IT自分戦略研究所

 

試験の感想

すべての問題を解き終わるのに、約28分程度かかりました。その後、20分かけて見直しをしました。試験時間は80分あるので、時間的には余裕がありました。

試験の難易度としては、それほど難しいとは感じませんでした。

ただ、L1は合格ラインが80%と高く、問題数も30問と少ない(6問しか間違えられない)ので、1問のミスが合否を分けてしまいます。その点は注意が必要です。

実務で、実際にUMLを使用している人であれば、試験用の特別な勉強をすることなく、合格できるレベルの問題だと思います。

 

 

私は、続けてL2の勉強に入ります。

 

2016年 第一弾 岩手県北上市

今日はふるさと納税の話です。

 

先日、初めてふるさと納税をしました。理由は、税金が控除され、かつお礼の品がもらえる大変お得な制度だと思ったからです。今年から毎年限度額いっぱいまでふるさと納税をしようと思っています。

 

さて、記念すべきふるさと納税第一弾は、岩手県北上市へ行いました。金額は5,000円です。

 

ふるさと納税ポータルサイトであるふるさとチョイスというサイトから申し込みを行いました。

北上市とは、特に関わりがあるわけではないのですが、お礼の品として野菜が欲しいと思い、探していたところ5,000円の寄付金額に対して、北上市の野菜セットが種類・量ともに満足いくものだったので北上市に決めました。

 

申し込んだお礼の品は「いっぺ北上の野菜食ってげでぇ〜たっぷり野菜セット」です。

 

www.furusato-tax.jp

 

お目当のお礼の品は、先月の20日過ぎに申し込んで、今月の初めには家に届いたので、思っていたよりも早くいただくことができました。

 

届いたお礼の品

f:id:takumetal:20160904175953j:plain

 

届いた野菜の内訳は以下です。

  1. 玉ねぎ…4
  2. ナス…2
  3. きゅうり…6
  4. キャベツ…1
  5. 肉厚ピーマン…3
  6. 山東菜…4
  7. ネギ…1
  8. 小ネギ…1
  9. ミニトマト…10
  10. とうもろこし…2
  11. りんご…2

計11品もの野菜をいただきました。

 

おかげで今週末はスーパーに野菜を買いに行かずに済みました。

 

 

次回のふるさと納税はお米を狙おうと思っています。

 

 

JSTQB Foundation Level 試験を受けてきました。

本日(2016年8月27日)、JSTQB Foundation Levelを受験してきました。

この試験は、今回で21回目を迎えるソフトウェアテストに関する資格試験です。

 

公式サイトはこちら

 

問題は、ISTQBテスト技術者資格制度Foundation Levelシラバスの内容から40問出題されます。試験時間は60分です。

IT資格はPCで受験することがほとんどですが、この試験は4つの選択肢から1つを選択してマークシートに記入する形式の解答方法となっています。

 

受験日当日

私は受験地域が東京で、試験会場はTOC有明という施設でした。

JSTQBは試験会場が少ないですね。

注意点としては、試験前に受験票が送られてくるのですが、顔写真を貼付しなければなりません。当日までには用意するようにしてください。

 

TOC有明に着くと、4Fの大きなコンベンションホールに入ります。

1つの会場に数百人の受験者がいたと思います。会場内にも時計がありました。

 

問題用紙、解答用紙、受験票の控え、アンケート用紙が配布されます。

試験終了時に、問題用紙、解答用紙、アンケート用紙が回収されます。試験中に受験票が回収されるので、受験票の控えを持って帰ります。

 

試験を終えての感想と勉強方法

私は、試験開始後45分程度で退出しました。試験の難易度は、それほど難しいとは感じませんでした。(こんなことを言って不合格だったら恥ずかしい。)

ただ、久しぶりのマークシート形式の試験だったので、1つずつマークを塗りつぶすのが、面倒でした。

 

私の勉強方法としては、「テス友」というアプリを使いました。

内容は1問1答形式の問題集です。私がやった勉強はこれだけです。

iOSAndroid共に対応しています。レビューにいろいろ書かれていますが、不具合なく使用することができました。

 

その他にも JSTQB準拠の教科書や、ネット上の無料問題集などがあります。

時間やお金に余裕のある方は色々試してみてはいかがでしょうか。

 

この試験の勉強をしたことで、ソフトウェアテスト技法や知識を多少なりともつけることができました。以前まではテストといってもなんとなく行っていたのですが、この試験勉強で身に付けた知識を業務の中で意識して使っていきたいです。

 

最後に、合否が「3ヶ月以内に発表」と少々遅い点が不満です。

試験を受けたら、早く結果を知りたいですよね。

結果が分かったら、このブログで報告します。

 

 

『平成紀』 青山繁晴

『平成紀』

著者:青山繁晴

出版社:幻冬舎

 

青山繁晴著『平成紀』を読みました。

この本は元々、2002年に『平成』として出版されていましたが、長らく絶版となっており、オークションなどでも、高値で売買され、入手困難となっていました。

青山繁晴さんの著書は、ほとんど全て読んでいますが、この『平成』だけ読むことができなかったので、今回、文庫版として改題、改稿の上、出版されたことを嬉しく思います。

 

また、青山繁晴さんが書く純文学がどのようなものなのか、大変興味がありました。

 

作品の内容としては、通信社に勤める楠陽(おそらく青山さん本人がモデル)が、

昭和天皇崩御という歴史的な出来事に記者として、人間として向かい合う姿が描かれています。

 

『平成紀』は絶好のタイミングで出版されたと思います。

現在、天皇陛下生前退位報道、お気持ち表明という出来事が起こっている中で、

この昭和天皇崩御を描いた作品から学ぶべきこと、感じることがありました。

 

近い将来に起こるであろう「天皇崩御」という時に、我々国民がどのように接するべきなのかを考えるきっかけを与えてくれる作品でした。

 

平成紀 (幻冬舎文庫)

平成紀 (幻冬舎文庫)