miso_soup3 Blog

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

ASP.NET MVC

Azure Search で自炊本 PDF を検索

by:dots.女子部 Advent Calendar 2016 - Qiita 自炊した本PDFファイルをいくつか用意し、Azure Search で中身を検索する実装を試してみました。 大まかな流れは、次の通りです。 Azure Blob Storage に PDF ファイルを入れる Azure Search を用意する 検索す…

ASP.NET で例外診断のために Bugsnag を触ってみた

Bugsnag という例外診断サービスを ASP.NET で触ってみましたので、簡単にスクリーンショットを貼ります。bugsnag.com料金プランはこちら:Pricing and Plans - Bugsnag 14日間の試用期間がある模様。 導入 Bugsnag のサイトにアクセスし、サインアップを…

ASP.NET MVC の UpdateModel と ValidateModel に思いを馳せる

ASP.NET MVC の Contoller クラスには、UpdateModel(...) と ValidateModel(...) のヘルパーメソッドが定義されています。 このメソッドを使うことで、モデルのバインド先の選択、検証対象の選択を行うことができます。これらの関連メソッドは、Controller …

ASP.NET HttpResponse.Cookies.Add で HttpRequest.Cookies にも反映される件

ASP.NET MVC 上で、Cookie を Response(System.Web.HttpResponseBase) に追加した後、Request(System.Web.HttpRequestBase) の Cookie にもその値が追加されます。アクションメソッドのサンプルコードです。 using System.Diagnostics; using System.Web…

ASP.NET Web API クッキーのエンコードについて

stackoverflow - WebAPI encoding cookie valuesASP.NET MVC ではクッキーの取得・設定時に、値のエンコード/デコードは行われませんが、 ASP.NET Web API の場合は、URL エンコード/デコードが行われます。 ASP.NET Web API ASP.NET Web API におけるクッ…

ASP.NET Web API クエリの文字列の配列を取得

/one?value=1&value=2&value=3のような URL でリクエストがきた場合に、クエリ文字列の同じキーの値を配列として取得する方法。 ASP.NET Web API にて ApiController の Request プロパティからクエリ文字列を取得する アクションメソッドの引数にバインドさ…

URL Rewrite と Tilde(~) の併用時の注意

2年前の古いネタになりますが、Razor 3(ASP.NET MVC 4)の破壊的変更により、 URL Rewrite と <a href="~/Content/pa.jpg"/> 等といったチルダを併用すると、想定したパスが出力されない可能性があります。URL Rewrite にて、Request URL と 書き換え後の URL の階層が同じ場合は、問題</a>…

ASP.NET MVC 5.1 と ASP.NET Web API 2.1 の内容

ASP.NET MVC 5.1、ASP.NET Web API 2.1、ASP.NET Web Pages 3.1 がリリースされたので、内容を調べてみました。この記事には、ASP.NET MVC 5.1 の内容を記載しています。 ASP.NET Web API 2.1 の方は長くなったので別記事にしました: ASP.NET Web API 2.1 …

ASP.NET MVC RouteLink サンプル

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 12 日目前回は RouteLink の基本についてでした。今回は、この RouteLink を活用したサンプルを実装します。RouteLink のメリットの1つ、”パラメーターの指定だけでリンクを貼れる”を利用した…

ASP.NET MVC RouteLink 使い方

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 11 日目ASP.NET MVC では、リンクを貼るための HTML ヘルパーメソッドとして @Html.ActionLink(...) の他に @Html.RouteLink(...) を使うことができます。今回は後者の RouteLink について、基…

ASP.NET MVC 違うコントローラーへのリンクを貼る

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 10 日目今回は、HTML ヘルパー:@Html.ActionLink で、違うコントローラーへのリンクを貼る方法についてです。陥りやすいミスについて少し。 違うコントローラーへリンクを貼る 違うコントロー…

Windows Azure Active Directory を使用した認証アプリ ASP.NET MVC

この記事は、Windows Azure Advent Calendar 2013 14 日目の記事です。Visual Studio 2013 では、Windows Azure Active Directory(以降 WAAD)を使用した認証アプリを作成するための、プロジェクトテンプレートが用意されています。ドメインを入力すれば、認…

ASP.NET MVC 日付でルーティング

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 9 日目今回は、日付を含む URL のルーティング方法について書きます。例として、「~/MyDiary/2013/03/25」という URL でアクセスした場合、次のようにコントローラー:DiaryController、メソッ…

ASP.NET MVC TempData は”次のリクエスト”以降も参照できる

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 8 日目前回 に引き続き TempData についてです。 ASP.NET MVC を始めたばかりの方にとっては、知らなくてもいい情報だと思います。そうでなくとも、通常の Web アプリ実装ではあまり使われない…

ASP.NET MVC TempData を使ってリダイレクト後にメッセージを表示する

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 7 日目今回は、TempData についてです。 TempData とは ASP.NET MVC 用の機能です。ASP.NET Web Forms には用意されておりません。ページ間で値を共有するための仕組みの1つで、前回(ASP.NET …

ASP.NET MVC セッション状態の値を操作してみる

by 深夜連絡 ASP.NET MVC な Web アプリ Advent Calendar 2013 6 日目今回は、ASP.NET の機能「セッション状態」(セッション情報、Session とも呼ばれる)、値の取得・設定の操作を行ってみます。 ここでは、チュートリアルを通して以下のことを確認します…

ASP.NET MVC クッキーを取得・設定する

ASP.NET MVC でのクッキー(Cookie)の取得・設定する方法についてです。といっても、ASP.NET Web Forms と同じく HttpCookie(System.Web)を扱いますし、実装自体はとても簡単です。 問題は、使い方とセキュリティ対策です。 HTTP のやりとり 例題 実装 大…

Enum からドロップダウンリストを生成する

前回 検証付きドロップダウンリストを実装する では、ドロップダウンリストの実装方法について書きました。その続きになります。現在 ASP.NET MVC 5 には、Enum からドロップダウンリストを生成してくれる HTML ヘルパーがありません。 (メタ情報を見て適切…

検証付きドロップダウンリストを実装する

ドロップダウンリスト(あるいは、DropDownList、セレクトリスト、SelectList、コンボボックス、ComboBox とも言う)の実装は、ASP.NET MVC を初めた 90 % の人がググるであろう、最初のハードルです。今回は、ドロップダウンリストの実装例を検証機能も含め…

WEB フォーム送信の仕組みを理解する

この記事は、ASP.NET MVC 入門者向けに書いています。ASP.NET MVC において、フォームの入力値がどのように HTTP 通信で送信されるか把握することは重要です。この記事では次のことについて確認します。 フォーム送信時の HTTP リクエスト GET と POST の使…

ASP.NET MVC のビューは ASPX ではなく Razor を

ASP.NET MVC で開発を始める際は、ASPX ではなく Razor を使用しよう!!という記事です。 最初に ASPX と Razor について簡単に紹介してから、Razor を推す理由を書きます。 ASPX と Razor ASP.NET MVC では、2つのビューエンジンを選択することができます…

コントローラーとビューのテンプレートを編集する in ASP.NET MVC(& Web API)

Visual Studio で ASP.NET MVC のコントローラーやビューを追加する際、右クリックメニューより追加を行うことで、ある程度コードが記述されたものを用意できます。このときに自動生成されるコードは、全体あるいはプロジェクト単位でカスタマイズできます。…

ASP.NET MVC で動的なドロップダウンリストを実装する

ASP.NET MVC で、動的なドロップダウンリストを実装する方法です。都道府県を選択すると、市町村のドロップダウンリストの項目の値が変わるという、 よくあるパターンです。 knockout.js がオススメ よく見かけるのが、選択した値に関係なく、全てのデータを…

ページングされた一覧ページと詳細・編集ページの行き来

ASP.NET MVC で、ページングに対応した一覧ページから、 編集(詳細)ページへ遷移した後、もう一度一覧ページに戻るとき、 表示していた○ページ目へ戻るようにしたい、といった時の 実装方法について書きます。図で表すとこんな感じです。QueryString や セ…

ASP.NET MVC 半角全角の入力値補正

ASP.NET MVC において、自動的に全角→半角にしたり、 両端のスペースを取り除いてくれるようにしよう!という話です。 アプローチ プロパティ毎にモデルバインダーを切り替えるようにします。 また、モデルは、単純な型でなく、複合型を対象とします。 ざっ…

csHtml ファイルを使って RazorEngine

試してみましたのでメモです。 実行 準備 NuGet で、RazorEngine をインストール後、 テンプレートファイル MessageTemplate.csHtml と、モデル用の MessageModel クラスを用意します。・MessageModel クラス public class MessageModel { public string Nam…

API と MVC でモデル検証の挙動が少し違う

モデル検証の時に入るキーが、WEB API と、MVC と違っていたのでメモです。下のように、とあるモデルを引数としたアクションメソッドを定義し、 そのモデルに検証属性を付けます。 // アクションメソッド [HttpPost] public ActionResult Register(RegisterM…

Visual Studio Express 2012 for Web ページインスペクター

Visual Studio Advent Calendar 2012 の 12 日目の記事です。 前日の記事は、ishisaka さんのPython Tools for Visual StudioでDjangoのアプリケーションを作る です。私からは、まだ経験は浅いですが、Visual Studio Express 2012 for Web のページインスペ…

ASP.NET MVC コア拡張部

One ASP.NET Advent Calendar 2012 の 9 日の記事です。 前日の 8 日は ASP.NET MVC と WF4 を一緒に使う際に気をつけるたった一つのこと 後日は 10 日は WebFormっぽいコントロールベスト3こちらになります。ASP.NET MVC は拡張性に優れており、あらゆると…

ValidationAttribute の検証メソッド内で、外部コンポーネントを利用する

ASP.NET MVC の、カスタム検証属性クラス内で、 IRepository 等の外部コンポーネントを利用する方法です。これを上手く使えば、データベースを使った検証でも、 Controller 以降に書いたりせずとも、モデルバインダ対象のプロパティに属性をつけるだけで 実…