miso_soup3 Blog

主に ASP.NET 関連について書いています。

ASP.NET MVC

JsonResult の Data をテストする時にエラー

Controllerのアクションメソッドにて、 JsonResultのDataを匿名型オブジェクトで設定した時の、 戻り値のテスト方法です。 ある条件下でエラーがでるので、その対処方法を書きます。アクションメソッド内の実装 return Json(new { pesronName = "山田さん", …

ActionLinkは、現在のルートデータを参照してくれる

/Person/Details/1 で表示されるViewに、編集リンクを追加したい時は、 スキャフォールディングにもある通り以下のように書くことができます。 @Html.ActionLink("編集へ", "Edit", new { personId = Model.Id }) が、ルーティングを設定すると @Html.Action…

エラーが起きたらどうなるか? Application_Error()と、HandleErrorAttribute

MVCでカスタムエラーページを実装しようとした時、 調べると以下の2つのコードに到着すると思います。 Web.Config にて <customErrors mode="On" defaultRedirect="~/Error/ErrorDayo" > </customErrors> Glogal.asax.cs にて filters.Add(new HandleErrorAttribute()); // (またはControllerクラスにて [HandleError]) これらの実装は…

@using () {...} を使ったカスタムHtmlヘルパーの作り方

この記事で知れること using (@Html.BeginForm()) {} が何をしているのかわかる using で書けるカスタムHtmlヘルパーを作れる まえがき using を使ったHtmlヘルパーといえば、@Html.BeginForm()です。 Formタグを出力したいとき、Viewでこのように書くと… @u…

ASP.NET MVC で気をつけたいこと

次回ASP.NET MVCでプロジェクトを開発する際に、開発メンバーで「お約束」としたいことをまとめました。 内容は業務アプリ用になっています。 中には超当たり前なことも書いてありますが…。ASP.NET MVC ひとり反省会 こちらの記事もMVCの反省についてまとめ…

Hokuriku.NET ASP.NET MVC入門 の レポートと、第2回にむけて。

2012/08/25(土) 13:00-17:00 に 石川の海みらい図書館にてASP.NET MVC入門が開催されました。 形式は、プレゼン&ハンズオン。講師は2人で参加人数は約15人。また、マイクロソフトエバンジェリストの井上章さんから、 「プログラミングMicrosoft ASP.NET MVC…

MVC4のテンプレート内に追加されたOAuth/OpenId認証

8/15に公開されたMVC4のプロジェクトテンプレートに、 OAuth/OpenId を使った認証が追加されていたので、試してみました。 今までと同様、すでにAccountControllerに認証ロジックが記述してあるので、 数分で実行できます。公式の説明はこちらです。→OAuth/O…

ちょっと異色のRadioButtonHelper

HtmlHelperを使ってラジオボタンを生成することについて、長々と説明します。 RadioButtonヘルパーを使うのか? SelectListは使えないのか? 近々MVC入門もありますし、Htmlタグからアプローチしてみたいと思います。 A. ラジオボタンとは(Html) B. MVCで…

EFMVC より、コントローラのPOSTアクションメソッドの流れを追う

コントローラのPOSTアクションメソッドで、とても綺麗だな〜と思ったコードがありましたので、それについて書きます。 GETなアクションメソッドはまた別の話です。そのコードは EFMVC で書かれているものです。 綺麗だな〜と思ったコード コードはこれです。…

Unityについて追記。Unity.MVC3がありました

以前書いた Project SilkにならってUnityを使ってみる の記事で、Unityの使い方を記載しましたが、 Unity.MVC3 という便利なNugetパッケージがあることを コメント欄より、教えて頂きました。教えて頂きありがとうございます。これを利用すると、IDependency…

Htmlヘルパーをどんどん利用する

この間、納期間近で切羽詰まっていた時でも、 Htmlヘルパーとその単体テストをCleanに記述できました。それは、こちらの記事Unit Testing Html Helpers in ASP.NET MVC3–The Cleaner Way があったからできたものでした。 時間がなくてもHtmlヘルパーとテスト…

ValueProviderを扱うときに気をつけること

MVCでは、いろんなHTTPリクエストの内容を取得することができます。(MVCに限らずですが) クエリ文字列、フォーム送信データ、Cookie、ヘッダー情報、など…。 これらの値は、モデルバインド時にも使用されます。リクエストの値を扱う時に、知っておきたいこと…

Project SilkにならってUnityを使ってみる

はじめに MVCのサンプルプロジェクトであるProject Silkでは、 UnityというIoCフレームワークを利用して関心の分離を行っています。 今回は、Silkのソースを参考にしながら、Unityの利用方法を記載したいと思います。 1.Unityとは 2.Unityの利用方法 3.WebCo…

カスタムセレクターの 作成 と テスト

カスタムセレクターの作り方 例えば あるキーのパラメータが存在する場合のみ、 アクションメソッドの選択を有効とする、独自のセレクターを作るとします。 RequiredParameterです。 属性クラスを作成する アクションメソッドの選択を制御する場合は、 Syste…

帳票出力 In MVC 書き方

MVCにて、ビューにわたすものを、ModelではなくViewModelにする、という書き方がありますが、 帳票出力の場合も、同じように考えると、綺麗に書けました。エクセル出力を例にして、その方法を記載します。 全体像 http://aspnetdesignpatterns.codeplex.com/…

AutoMapper + ViewModel In MVC その2

MVCで書くときのポイント その1.適切なViewModelを作る その2.AutoMapperのテスト、確認 その2です。 マッピングをテストする Mapper.AssertConfigurationIsValid(); AutoMapperを利用する時は、必ずこれを書くべきだと思います。 マッピングされないプ…

AutoMapper + ViewModel In MVC その1

MVCで書くときのポイント、 その1.適切なViewModelを作る その2.AutoMapperのテスト、確認 この2点のうち、その1を書きたいと思います。 その1.適切なViewModelを作る MVCでゴリゴリ書いていると、適切なViewModelを作ることが 大事だなと感じます。…

MvcScaffolding で MVCのControllerテストを効率よく

MvcScaffolding を使えば、 アクションメソッドとそのテスト、他いろいろなものを自動生成してくれます。使ってみた感想と、カスタマイズ方法の一部を記載します。 感想 すごい!らくちん! コードの変更は、t4をいじるだけなので簡単。 ファイルが生成され…

ASP.NET MVC DropDownList

ドロップダウンリストを表示する時、Controller側で SelectListとSelectListItemのどちらを使えばよいかわからなかった。 結論 どちらでもいい。 けど、IEnumerableを使った方が後々良いかも。 SelectList使う Controller [HttpGet] public ActionResult Ind…