投稿

7月, 2017の投稿を表示しています

Azure 上で Web.Config を設定する際にハマった

イメージ
Azure に配置した Web アプリケーションにおいて、アプリ設定から Web.Config の値を上書きすることができます。 Web.Config は " や & などを実体参照(" とか & 等)にエスケープしますが、Azure で設定する際にはエスケープせずにそのまま " や & と記述します。 接続文字列や URL 等でよく設定することなので、Azure に乗せたら動かない、ということが起こってしまいますね…。

[C# 7] int.TryParse の out 変数を省略する

イメージ
C# 7 の TryParse TryParse 系は使用する前に変数を用意しておかなければならず、ときに無駄な変数を宣言するという微妙なコードになってしまうこともありました。 C# 7 からは第二パラメーターに渡す変数の仕様が少し変更されて便利になりました。 out にそのまま変数宣言ができるように _ の登場により TryParse の変換結果がいらない場合でもスマートに書けるように var s = "0"; // true, 判定だけをしたい var b = int.TryParse(s, out int _); // i は宣言されるため、以降の処理で使用可 int.TryParse(s, out int i); // 1 i = i + 1; out の後は var でも OK 。 C# 7.0で知っておくべき10の新機能(前編) http://www.buildinsider.net/language/csharplang/070001

コマンドプロンプトでは Ctrl + V ではなく Alt + Space と E, P

イメージ
コマンドプロンプトの貼り付けショートカットキー コマンドプロンプトでペーストを行う場合は、Ctrl + V ではなく、Alt + スペースキーでメニューを出した後、E, P と押します。

Selenium Builder と IE11 で UI テスト

イメージ
Selenium による UI テスト http://www.seleniumhq.org/ Selenium はポピュラーな UI テストツールですが、Firefox のアドオンである「Selenium Builder」を使えば、テストケースをプログラムしなくてもテストケースを作成することができます。

ASP.NET MVC のカスタムエラーページ

イメージ
ASP.NET で 404 等のエラーが発生した場合、デフォルトで用意されているエラー画面が表示されます。 Web.Config にカスタムエラーページを設定することで、独自のエラーページを表示させることができます。 <system.web> <customErrors mode="On"> <error statusCode="404" redirect="~/404.html"/> </customErrors> </system.web> 例)404 エラー発生時にルートに配置した 404.html を表示させる。

DateTime.TryParse の out を省略する

イメージ
TryParse メソッドでは第二パラメーターに対応する変数を out と共に渡さなければなりません。 var s = "2000/01/01 0:00:00"; var d = new DateTime(); DateTime.TryParse(s, out d); TryParse を判定だけに使いたい時には out を省略したいですが、省略自体はできない仕様です。 しかし、以下の書き方で一行で完結させることができます。 var s = "2000/01/01 0:00:00"; // value は変数名。なんでもいい。 DateTime.TryParse(s, out DateTime value); ちなみに、int の TryParse ではこの書き方はできません。 C#6.0 の言語仕様策定で却下されたそうです。 【関連記事】 [C# 7] int.TryParse の out 変数を省略する

ASP.NET MVC の Razor で Bootstrap Popovers の改行ができない

イメージ
Bootstrap の Popovers で改行をしたいときは、html: true に設定して、改行コード(br タグ)を入れれば改行されます。 ただし、ASP.NET MVC の Razor の値をセットしたい場合は、 @Html.Raw() で、HTML エンコードされていないデータをセットする必要があります。 Razor の値はそのままでは HTML エンコードされて出力されるため、 がそのまま出力されてしまうのです。

ASP.NET MVC での $ is not defined

イメージ
$ is not defined とは $ が定義されていないという残念なエラーですが、$ は jQuery の定義です。 ASP.NET MVC では、App_Start 内に Script や CSS をバンドル(まとめる)するための設定を書きますが、これを参照するページ(デフォルトでは _Layout.cshtml)では読み込み順序に気をつけなければいけません。 内に Style.Render を書いて、 直前に各種 js を書きます。

Bootstrap の Popover に CSS を適用させる

イメージ
Bootstrap の Popover に対して自作の CSS を適用させようとした際に、class 名を設定しても当たらなかったのでメモ。 Popover は JavaScript で生成されるエレメントのため、デフォルトのクラス名で指定する必要があるらしい。 .popover-title { } .popover-content { }