私は現在、 VS2010のブラウンフィールドASP.NET MVC 3プロジェクトに取り組んでいます。
このプロジェクトでは、ビューとコントローラーは別のプロジェクトにあります。これは私が以前に見たものではありません。各アクション メソッドには、以下のようにビュー名の明示的な記述はありません。
return View("viewName",passingModel);//projects where controllers and views are in same
ビューを右クリックして VS2012 で暗黙的にこれを行いadd view
ました。そのため、アクション メソッドの戻りビューとビューの間のこの接続がどこにあるのかについては気にしませんでした。
VS2012 とは異なり、VS2010では、View を右クリックして を実行しても、特定のアクション メソッドに関連するビューに移動できませんgo to view
。
この小さな実験を行うことで、これを理解しようとしました。を作成しController
てAction Method
呼び出しxxxx
を作成し、上記のように暗黙的にそのビューを作成し、xxxx
ソリューション全体で単語を検索しましたが、この単語はコントローラーとビューにのみ表示されました。
そのため、答えを見つけることができませんでした。これを実現するために、ビジュアルスタジオ自体が独自のマッピングを作成していると思います。私のプロジェクトで何が起こっているのかを理解するために、アクションメソッドとビューの間でこれらの暗黙的な接続が誰によって作成されているかを知りたいです。
編集:
コントローラーとビューを含むプロジェクトはどちらもクラス ライブラリです。asp.net mvc プロジェクトではありません。
Global.aspx
ファイルにはこれが含まれています:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
protected void Application_Start()
{
DependenciesHelper.Register(new HttpContextWrapper(Context));
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RoutingHelper.RegisterRoutes(RouteTable.Routes);
}
protected void Application_End()
{
//Should close the index
//If this method is not executed, the search engine will still work.
SearchService.CloseIndex();
}