ASP.NET MVCでWebアプリを開発しているときに非同期でサーバーからJSONを取得するのはよくあることだと思います。このとき、サーバー側は標準機能のJsonResultを利用してJSONの生成を行うのが定石ですが、.NETのクラスインスタンスのプロパティから名前と値をリフレクションで取得して自動で生成するため、(命名規則に従っていれば) JSONに出力されるプロパティ名はPascal Caseになります。以下のような感じです。 public class JsonController : Controller { public ActionResult Sample() { return this.Json(new { FamilyName = "Anders", FirstName = "Hejlsberg", Age = 53 }, JsonRequestBehavior.All
Request validation is a feature in ASP.NET that examines an HTTP request and determines whether it contains potentially dangerous content. In this context, potentially dangerous content is any HTML markup or JavaScript code in the body, header, query string, or cookies of the request. ASP.NET performs this check because markup or code in the URL query string, cookies, or posted form values might h
3.1. マイグレーションについて¶ データベースを削除してから作り直すと,DBに保存されている情報が全て削除されてしまいます. こういった事態を回避する方法として、データベースマイグレーションを行う方法があります。 マイグレーションとは、DBに保存されているデータを保持したまま、テーブルの作成やカラムの変更などを行うための機能です。 3.2. マイグレーションの準備¶ まずは簡単なデータベースマイグレーションを行うことにしましょう. あらかじめ,次のようなProductクラスを作成しておきます。 public class Product { public int ProductId { get; set; } public string Name { get; set; } public int Price { get; set; } }
Entity Framework で Code First Migrations。 前回、プロパティに属性を付けることにより、キーを設定することが可能になりました。属性を利用することにより、ほかにも指定可能な項目があります。今回は、文字列の長さと NOT NULL を指定してみます。 文字列長は MaxLength(StringLength) データ型が string のプロパティの場合、特に指定がない場合は、nvarchar(max) となります。 System.ComponentModel.DataAnnotations.MaxLengthAttribute クラスを属性とすることで、文字列の長さが指定可能です。 [MaxLength(10)] public string Name { get; set; } パラメータに指定した数値が文字数となります。 ちなみにバイト数ではなく文字数
■独自の表示/編集テンプレートを準備する このように、DisplayFor/EditorForヘルパーは、標準の機能を利用するだけでもそれなりに有用であるが、本当の魅力はこれからだ。あらかじめテンプレートを準備しておくことで、特定のデータ型やメタ情報に応じて、独自の出力を生成することもできる。 例えば以下は、DateTime型のプロパティに対して、EditorForヘルパーがポップアップ・カレンダ付きのテキストボックスを生成するようにする例だ。ポップアップ・カレンダの実現には、jQuery UIのDatepickerを利用するものとする。 [1]EditorForヘルパー向けのテンプレートを準備する EditorForヘルパー対応のテンプレートは、 ~/Views/Shared/EditorTemplates/Xxxxx.cshtml (VBはXxxxx.vbhtml)フォルダ配下 に配置
このメソッドは、LINQ to Entities を使用して、並べ替えの基準となる列を指定します。 このコードでは、switch ステートメントの前に IQueryable<T> 変数を作成し、それを switch ステートメントで変更し、switch ステートメントの後に ToList メソッドを呼び出します。 IQueryable 変数を作成および変更するときに、データベースに送信されるクエリはありません。 このクエリは、ToList などのメソッドを呼び出して、IQueryable オブジェクトをコレクションに変換するまで、実行されません。 そのため、このコードの結果は、return View ステートメントまで実行されない 1 つのクエリになります。 並べ替え順序ごとに異なる LINQ ステートメントを記述する代わりに、LINQ ステートメントを動的に作成することもできます。 動的
ASP.NET WebフォームからASP.NET MVCへの移行/共存:特集:“Webフォーム+ASP.NET MVC”共存アプリ(1/4 ページ) 連載目次 背景 ASP.NET環境での開発スタイルを大きく変化させた「ASP.NET MVC」(以降、MVC)がリリースされ、すでに4年以上が経過した。日頃からASP.NET技術に関心を寄せる開発者であれば、もはやMVCでしかWebアプリケーションは書きたくない、という人もいるかもしれない。詳細については別途解説記事*1を参照してほしいが、MVCを利用することで ユニット・テストがより容易に書けるようになった*2 Web開発において一般的なMVCモデルに則った設計になっているため、ASP.NETに習熟していないWeb開発者でも今までの経験を生かしつつ開発することが可能になった Webフォーム(Web Forms)と比較して素直なHTMLコード
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く