MVC - ASP.NET MVC紹介
3585 ワード
1.ソフトウェアアーキテクチャパターンを表すMVC(Model-View-Controller)を定義する.ソフトウェアシステムをモデル、ビュー、コントローラの3つの基本部分に分けます.
2.MVCモードとWebFormモードの違い WebFormモードのURLは、サーバとそのURLに対応するパス上の物理ファイルを要求し、そのファイルによってこの要求を処理し、クライアントに結果を返す. MVCモードクライアントの要求されたURLは、対応するControllerにマッピングされ、その後、Controllerによってビジネスロジックが処理され、Modelからデータを取得し、Controllerによって適切なViewを選択してクライアントに返すことができる.
3. ASP.NET MVCプロジェクトのディレクトリ構造
App_Data:データを格納するためのContent:リソースファイル(CSS、JS、ピクチャ等)を格納するためのControllers:Controllerクラスを格納するために使用されます.Controllerクラスの名前はController末尾でなければなりません.
Models:ビジネスエンティティ、データ・アクセス・レイヤ・コードを格納するクラスViews:viewファイルを保存するために使用され、各Controllerはviewフォルダに対応します.Viewsディレクトリの下にあるSharedサブディレクトリは、共有ビューを格納するために使用されます.例えばError.aspxとSite.Master
4. ASP.NET MVCコアDLL
System.Web.Routing:URLルーティング.1つのURLを対応するControllerにルーティングします.HttpModuleで処理されています.
System.Web.Extensions:これはASPです.NET AJAXのSystem.Web.Mvc:ASP.NET MVCの最も主要なプログラムセット.
System.Web.Abstraactions:関連するベースクラス.たとえば、HttpContextBase、HttpRequestBaseなどです.
5. Routing
GlobalでasaxファイルのApplication_Startイベントにroutesを追加すると、プログラムの起動時にroutesが使用可能になり、ユニットテスト時に直接メソッドを呼び出すこともできます.セルテスト時に直接呼び出す場合は、routesを登録する方法は静的であると同時にRouteCollectionパラメータが必要です.
6.コントローラとアクション
Controllerクラスは、ControllerクラスとControllerBaseクラスに分けられます.ControllerクラスはControllerBaseクラスから継承され、ControllerBaseはIControllerインタフェースを実現します.
Action名は定義可能で、ActionNameAttributeを使用して定義します.
Actionメソッドのパラメータは、Routeで定義パラメータ名と同じ、ASP.NET MVCは、アクションメソッドのパラメータに自動的に値を割り当てることができます.
ActionメソッドはActionResultタイプの結果を返します.ASP.NET MVCは私たちにいくつかのActionResultの実現を提供して、以下の通りです:ViewResult.ビューページをクライアントに表示します.Viewメソッドで返す.RedirectToRouteResult. 別のルートにリダイレクトします.RedirectToActionメソッドとRedirectToRouteメソッドによって返される.RedirectResult. 別のURLにリダイレクトします.Redirectメソッドで返す.ContentResult. 通常の内容を返します.たとえば、文字列です.Contentメソッドで返す.JsonResult. JSON結果を返します.Jsonメソッドで返す.EmptyResult. Actionが空の値を返さなければならない場合は、この結果を返すことができます.Controllerでは実現する方法がなく、return new EmptyResult()が可能である.
7.ViewとViewData
8. TempData
9.Helperとデータの提出とバインド
10.ModelStateとデータ検証
http://www.cnblogs.com/fish-li/archive/2012/02/12/2348395.html引用:http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1302462.html#参考:http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-1
2.MVCモードとWebFormモードの違い
3. ASP.NET MVCプロジェクトのディレクトリ構造
App_Data:データを格納するためのContent:リソースファイル(CSS、JS、ピクチャ等)を格納するためのControllers:Controllerクラスを格納するために使用されます.Controllerクラスの名前はController末尾でなければなりません.
Models:ビジネスエンティティ、データ・アクセス・レイヤ・コードを格納するクラスViews:viewファイルを保存するために使用され、各Controllerはviewフォルダに対応します.Viewsディレクトリの下にあるSharedサブディレクトリは、共有ビューを格納するために使用されます.例えばError.aspxとSite.Master
4. ASP.NET MVCコアDLL
System.Web.Routing:URLルーティング.1つのURLを対応するControllerにルーティングします.HttpModuleで処理されています.
System.Web.Extensions:これはASPです.NET AJAXのSystem.Web.Mvc:ASP.NET MVCの最も主要なプログラムセット.
System.Web.Abstraactions:関連するベースクラス.たとえば、HttpContextBase、HttpRequestBaseなどです.
5. Routing
GlobalでasaxファイルのApplication_Startイベントにroutesを追加すると、プログラムの起動時にroutesが使用可能になり、ユニットテスト時に直接メソッドを呼び出すこともできます.セルテスト時に直接呼び出す場合は、routesを登録する方法は静的であると同時にRouteCollectionパラメータが必要です.
public static void RegisterRoutes(RouteCollection routes)
{
// .axd Route, WebForm .axd
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Category", // Route
"Category/{action}/{categoryName}", // URL
new { controller = "Category", action = "Index", categoryName = "4mvc" } //
);
}
protected void Application_Start()
{
// Route
RegisterRoutes(RouteTable.Routes);
}
6.コントローラとアクション
Controllerクラスは、ControllerクラスとControllerBaseクラスに分けられます.ControllerクラスはControllerBaseクラスから継承され、ControllerBaseはIControllerインタフェースを実現します.
Action名は定義可能で、ActionNameAttributeを使用して定義します.
public ActionResult Setting()
{
throw new NotImplementedException();
}
[ActionName("Setting")]
public ActionResult SaveSetting()
{
throw new NotImplementedException();
}
ActionメソッドはActionResultタイプの結果を返します.ASP.NET MVCは私たちにいくつかのActionResultの実現を提供して、以下の通りです:ViewResult.ビューページをクライアントに表示します.Viewメソッドで返す.RedirectToRouteResult. 別のルートにリダイレクトします.RedirectToActionメソッドとRedirectToRouteメソッドによって返される.RedirectResult. 別のURLにリダイレクトします.Redirectメソッドで返す.ContentResult. 通常の内容を返します.たとえば、文字列です.Contentメソッドで返す.JsonResult. JSON結果を返します.Jsonメソッドで返す.EmptyResult. Actionが空の値を返さなければならない場合は、この結果を返すことができます.Controllerでは実現する方法がなく、return new EmptyResult()が可能である.
7.ViewとViewData
8. TempData
9.Helperとデータの提出とバインド
10.ModelStateとデータ検証
http://www.cnblogs.com/fish-li/archive/2012/02/12/2348395.html引用:http://www.cnblogs.com/QLeelulu/archive/2008/09/30/1302462.html#参考:http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-1