「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>ASP.NET]]

* 目次 [#sd451d77]
#contents

*概要 [#tc533d68]
ASP.NET MVCは、Microsoftが開発・提供している、~
Model View Controller (MVC) パターンをベースとした~
ASP.NETアプリケーションを開発するための
-Webアプリケーションフレームワーク。
-MVCアーキテクチャのWeb UIテクノロジ。

*特徴 [#qd05d6a8]

**一般的には、 [#s86ea1f7]
以下のように言われている。

.NET で Model-View-Controller モデルでの開発を行うためのフレームワークで、~
Java などのMVCアーキテクチャに慣れた開発者にとってはなじみやすいフレームワークである。

***[[ASP.NET Web Forms]] [#e5e28e45]
[[ASP.NET Web Forms]]は、

豊富なサーバー コントロールにより、HTML レンダリングが行われるため、~
画面設計・画面構築において高い生産性を確保することができた。

***[[ASP.NET MVC]] [#a8f1f9d3]
コレに対して、[[ASP.NET MVC]] は、

-サーバー コントロールがなく(代替にHtmlヘルパーが存在する)、~
HTML も開発者が記述しなければならない分、生産性は劣るが、~
HTML/CSS/JavaScriptに対応した、よりきめ細やかな画面デザインが実現できる。

-JavaScript フレームワーク都の親和性が高い。~
Ajax の普及により jQuery などの JavaScript フレームワークを利用することが増えてきているが、~
JavaScript フレームワークを併用する場合には[[ASP.NET MVC]]の方が開発が容易となる場合もある。

-その他、[[ASP.NET Web Forms]] では困難であった単体テストの自動化が容易になるなどの特徴がある。

**MVCの特徴 [#e17b6541]
[[コチラ>ASP.NET Web Forms vs ASP.NET MVC#ta51d347]]を参照。

*適合案件 [#y26a2c94]

**一般的には、 [#hb3dce60]
以下のように言われている。

-Struts等のMVCフレームワークに慣れたJava技術者の取り込み。

-HTML/CSS/JavaScriptによるRIA開発
--HTML/CSSデザインを重視(流用)するインターネット系システム
--JavaScriptを多様したRIAアプリケーション
---jQuery UIを使用したRIAアプリケーション
---jQuery Mobileを使用したモバイル・デバイス向けRIAアプリケーション

-[[テスティング・フレームワーク]]を使用した、画面からの単体テストの自動化がフィットする案件

**大規模開発案件への適応 [#n5f471fa]
[[コチラ>ASP.NET Web Forms vs ASP.NET MVC#iebe14b1]]を参照。

*参考 [#ee510ae9]
-ASP.NET MVC Framework - Wikipedia~
http://ja.wikipedia.org/wiki/ASP.NET_MVC_Framework

-ASP.NET MVC 開発を始める前に理解しておきたいこと - Qiita~
http://qiita.com/kazuhisam3/items/f056819172d2b6d36a8c

-ASP.NET MVC(はいぱー基本を学ぶ) ( Windows )~
Fatal error:さるがパソコンを触っています - Yahoo!ブログ~
http://blogs.yahoo.co.jp/u_mana80/13232122.html

**内部リンク [#p2296418]
***[[ASP.NET MVCの用語]] [#i624d520]
***[[ASP.NET MVCの利用方法]] [#p04c4cd9]
***[[ASP.NET MVCの国際化対応]] [#y78d0a36]
***[[ASP.NET Web Forms vs ASP.NET MVC]] [#p82c323e]
***[[ASP.NET Core MVC]] [#s36918f2]

**連載:ASP.NET MVC入門 [#o959203d]
***MVC 1 [#jce05f61]
Insider.NET  ASP.NET MVC入門 - @IT~
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/aspnetmvc_index.html

-第1回 ASP.NET MVCフレームワーク 基本のキ
--1.ASP.NET MVCとは?/ASP.NET MVCを利用するための準備
--2.Hello, Worldアプリケーションを作成する(1)
--3.Hello, Worldアプリケーションを作成する(2)
--4.ユーザー・パラメータを受け取る/アクション・メソッドでポスト・データの取得
--5.入力フォームに検証機能を追加する

-第2回 スキャフォールディング機能で軽々DB連携アプリケーション
--1.Entity Dataモデルを作成/コントローラ・クラスを作成
--2.Indexアクション・メソッド&ビューを定義
--3.Detailsアクション・メソッド&ビューを定義/ビューの部品化
--4.Createアクション・メソッド&ビューを定義
--5.Editアクション・メソッド&ビューを定義

-第3回 ActionResultオブジェクトでアクション操作も自由自在
--1.ActionResultオブジェクトとは/ViewResult/RedirectToRouteResult
--2.ContentResultオブジェクト
--3.JsonResultオブジェクト
--4.artialViewResultオブジェクト
--5.JavaScriptResultオブジェクト/FileResultオブジェクト

-第4回 フィルタ属性による認証/キャッシュ/セキュリティ対策の実装
--1.ページ・キャッシング機能を有効化する:OutputCache属性
--2.プリケーションに認証機能を追加したい:Authorize属性
--3.カスタム・エラー・ページを有効化する:HandleError属性
--4.HandleError属性のプロパティ
--5.妥当性を検証:ValidateInput属性/CSRF対策:ValidateAntiForgeryToken属性

***MVC 3 [#pe325b3a]
連載:ASP.NET MVC入門【バージョン3対応】 - @IT~
http://www.atmarkit.co.jp/fdotnet/aspnetmvc3/index/

-第0回 Webアプリケーション・フレームワークの新たな選択肢
--1.ASP.NET概論
--2.いま、いずれのフレームワークを学ぶべきか
--3.WebフォームもASP.NET MVCも基盤は共通

-第1回 Controller-View開発のキモを押さえる
--1.ASP.NET MVC 3を利用するための準備/Hello, Worldアプリを作成
--2.コントローラ・クラスを作成する
--3.ビューを作成する/サンプルの実行/まとめ

-第2回 Entity Frameworkコード・ファーストでモデル開発
--1.EF 4.1のインストール/モデル・オブジェクトを作成する
--2.コンテキスト・クラス/DB接続文字列の準備/イニシャライザ
--3.スキャフォールディング機能を利用しよう/サンプルの実行

-第3回 モデル・バインドとアノテーション検証の実装
--1.データ登録の基本/Createアクション・メソッド/ビュー・スクリプト
--2.検証機能の実装/エンティティに検証ルールを追加
--3.ビュー・スクリプトでエラー・メッセージを表示

-第4回 検証属性の自作とクラス・レベルのモデル検証
--1.自作の検証属性を定義する(サーバサイド編)
--2.自作の検証属性を定義する(クライアントサイド編)
--3.複数プロパティをまたがった検証を実装する

-第5回 新しいビュー・エンジン「Razor」の基本を理解しよう
--1.ASPXとの比較で理解するRazor文法(1)
--2.ASPXとの比較で理解するRazor文法(2)
--3.ビュー開発を効率化する「ビュー・ヘルパー」(1)
--4.ビュー開発を効率化する「ビュー・ヘルパー」(2)

-第6回 テンプレート機能でビュー開発を効率化
--1. モデルを自動認識する高機能なビュー・ヘルパー(DisplayFor/EditorFor)
--2. 独自の表示/編集テンプレートを準備/モデル単位にテンプレート適用
--3. ビュー・ヘルパーの自作/拡張メソッドとしてビュー・ヘルパーを定義

-第7回 レイアウト/部分ビューでアプリ共通のデザインを定義
--1.ヘッダ/フッタ/メニューを共通化する - レイアウト
--2.レイアウトに複数のコンテンツ領域を設置/レイアウトを入れ子に配置
--3.部分ビューの基本
--4.アクションを伴う部分ビュー呼び出し/子アクションでフラグメント・キャッシュ

-最終回 テスト自動化でアプリケーションの品質向上41.単体テストの基本を理解する
--1.単体テストの基本を理解する
--2.モック・ライブラリMoqの利用方法
--3.データベース・アクセスを伴うテスト(1)
--4.データベース・アクセスを伴うテスト(2)

***MVC 4 [#j4edb29e]
特集:ASP.NET 4.5新機能概説(3):ASP.NET MVCの新機能 (1-6) - @IT
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056.html
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056_2.html
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056_3.html
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056_4.html
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056_5.html
-http://www.atmarkit.co.jp/ait/articles/1304/23/news056_6.html

***MVC 5 [#j04dafb6]
書籍転載:ASP.NET MVC 5 実践プログラミング - Build Insider~
https://www.buildinsider.net/web/bookaspmvc5

-[導入編]Chapter1 イントロダクション
--1-1 ASP.NETの全体像~
https://www.buildinsider.net/web/bookaspmvc5/010100
--1-2 ASP.NET MVCとは?~
https://www.buildinsider.net/web/bookaspmvc5/010200
---1-2-1 Webフォームの問題点
---1-2-2 ASP.NET MVCの特徴
---1-2-3 ASP.NET MVCの主な機能

-[基本編]Chapter4 ビュー開発

--4-1 Razor構文~
https://www.buildinsider.net/web/bookaspmvc5/040100
---4-1-1 コードナゲット(インライン式)
---4-1-2 予約文字「@」のエスケープ
---4-1-3 コードブロック
---4-1-4 制御構文(コードブロック)
---4-1-5 サーバーコメント

--4-2 フォーム関連のビューヘルパー~
https://www.buildinsider.net/web/bookaspmvc5/040201
---4-2-1 フォームを生成する - BeginFormメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040201
---4-2-2 ルート定義からフォームを生成する- BeginRouteFormメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040202
---4-2-3 モデルに関連付いた<input>、<textarea>要素を生成する- XxxxxForメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040203
---4-2-4 選択ボックス/リストボックスを生成する - DropDownListFor/ListBoxForメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040204
---4-2-5 列挙型から選択ボックスを生成する - EnumDropDownListメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040205
---4-2-6 選択ボックスの選択肢をグループ化する - SelectListクラス~
https://www.buildinsider.net/web/bookaspmvc5/040206
---4-2-7 モデルと関連付かないフォーム要素を生成する - TextBox/Labelメソッドなど~
https://www.buildinsider.net/web/bookaspmvc5/040207

--4-3 リンク/エンコード関連のビューヘルパー~
https://www.buildinsider.net/web/bookaspmvc5/040301
---4-3-1 ハイパーリンクを生成する - ActionLinkメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040301
---4-3-2 ルート定義からハイパーリンクを生成する - RouteLinkメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040302
---4-3-3 アプリケーションルートからの絶対パスを生成する - Url.Content/Action/RouteUrlメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040303
---4-3-4 HTMLエンコードを無効にする - Html.Rawメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040304

--4-4 テンプレート関連のビューヘルパー~
https://www.buildinsider.net/web/bookaspmvc5/040401
---4-4-1 テンプレートの標準の挙動~
https://www.buildinsider.net/web/bookaspmvc5/040401
---4-4-2 テンプレートのカスタマイズ~
https://www.buildinsider.net/web/bookaspmvc5/040402
---4-4-3 テンプレートを決定する方法~
https://www.buildinsider.net/web/bookaspmvc5/040402
---4-4-4 モデル単位にテンプレートを決定する - DisplayForModel/EditorForModelメソッド~
https://www.buildinsider.net/web/bookaspmvc5/040404
-[基本編]Chapter5 モデル開発
--5-3 LINQ to Entities~
https://www.buildinsider.net/web/bookaspmvc5/050301
---5-3-1 LINQとは?~
https://www.buildinsider.net/web/bookaspmvc5/050301
---5-3-2 データの検索条件を指定する - where句~
https://www.buildinsider.net/web/bookaspmvc5/050302
---5-3-3 データを並べ替える - orderby句~
https://www.buildinsider.net/web/bookaspmvc5/050303
---5-3-4 取得列を明示的に指定する - select句~
https://www.buildinsider.net/web/bookaspmvc5/050304
---5-3-5 重複のないデータを取得する - Distinctメソッド~
https://www.buildinsider.net/web/bookaspmvc5/050305
---5-3-6 特定範囲のデータだけを取得する - Skip/Takeメソッド~
https://www.buildinsider.net/web/bookaspmvc5/050306
---5-3-7 先頭のデータを取得する - Firstメソッド~
https://www.buildinsider.net/web/bookaspmvc5/050307
---5-3-8 データをグループ化する - group句~
https://www.buildinsider.net/web/bookaspmvc5/050308
---5-3-9 エンティティ同士を結合する - join句~
https://www.buildinsider.net/web/bookaspmvc5/050309
-[応用編]Chapter8 クライアントサイド開発
--8-2 JavaScriptライブラリ/フレームワーク
---8-2-5 Bootstrap~
https://www.buildinsider.net/web/bookaspmvc5/080205

ASP.NET MVC 5  開発メモ: ASP.NET MVC 5 についての開発メモである。ただしVB.NETがベース~
http://aspmvc.tokumori-domain.com

--目次~
http://aspmvc.tokumori-domain.com/sitemap/

--MVC 導入編
---VISUAL STUDIO 基礎知識
---初期設定(APP_START)について
---基礎知識①
---基礎知識②
---基礎知識③

--MVC 基本編(ビュー)
---ビューヘルパー(フォーム関連)①
---ビューヘルパー(フォーム関連)②
---ビューヘルパー(リンク・エンコード)
---テンプレートヘルパー
---ビューヘルパーを自作する
---アプリケーション共通のデザインを定義する(レイアウト)
---ビューの一部を再利用可能にする (部分ビュー)
---モバイル対応(DISPLAYMODES)

--MVC 基本編(モデル)
---MVC 基本編(モデル)
---データモデルの作成
---規約のカスタマイズ
---マイグレーション
---LINQ TO ENTITIES その1
---LINQ TO ENTITIES その2
---データ取得・変更のその他の機能

--トラブルシュート
--その他

***[[MVC 6>ASP.NET Core]] [#dfe9fe13]

**MSDN [#of583417]

***ASP.NET デベロッパー センター [#k2e0a3d9]
-ASP.NET MVC~
http://msdn.microsoft.com/ja-jp/asp.net/aa336581.aspx
--ASP.NET MVC のチュートリアル~
http://msdn.microsoft.com/ja-jp/asp.net/ff630143.aspx
--連載! コードで学ぶ ASP.NET MVC アプリケーション開発入門  Code Recipe  MSDN~
http://msdn.microsoft.com/ja-jp/asp.net/gg490787

***ASP.NET および Visual Studio [#vf5d9e30]
http://msdn.microsoft.com/ja-jp/library/dd566231.aspx

-ASP.NET MVC 2~
https://msdn.microsoft.com/ja-jp/library/dd557258(v=vs.100).aspx
-ASP.NET MVC 3~
https://msdn.microsoft.com/ja-jp/library/gg416651(v=vs.98).aspx
-ASP.NET MVC 4 コンテンツ マップ~
http://msdn.microsoft.com/ja-jp/library/gg416514(v=vs.108).aspx

-ASP.NET MVC の概要~
https://msdn.microsoft.com/ja-jp/library/dd381412.aspx
--2 https://msdn.microsoft.com/ja-jp/library/dd381412(v=vs.100).aspx
--3 https://msdn.microsoft.com/ja-jp/library/dd381412(v=vs.98).aspx
--4 https://msdn.microsoft.com/ja-jp/library/dd381412(v=vs.108).aspx

***その他 [#v8b129c6]
-ASP.NET MVCフレームワーク 正式版 入門:CodeZine~
http://codezine.jp/article/corner/295

----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET MVC]]



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS