2

MVCで初めて会った。「管理」エリアと「ニュース」アクションのコントローラーがあります。

デバッグでは、ブレークポイントを取得しました

public ActionResult List()
{
    return View(); // Breakpoint
}

そして私はそこに着く

しかし、エンジンはビュー「リスト」を見つけることができません

エラーが発生しました:

The view 'List' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/News/List.cshtml
~/Views/News/List.vbhtml
~/Views/Shared/List.cshtml
~/Views/Shared/List.vbhtml

Areas/Administration/News/List.cshtml の場所で出口を表示する

Razor がエリア名をビュー ビューの場所に貼り付けないのはなぜですか?

アップデート:

私は解決策を見つけました: エリアルート経由でアクセス可能なASP.NET MVCデフォルトルート

Route route = Routes.MapRoute(name, url, defaults, constraints, namespaces);
route.DataTokens["area"] = AreaName;
4

1 に答える 1

0

View()ASP.NET MVC は、コントローラーでメソッドを呼び出すときに、対応するアクションに一致するビューがあることを想定しています。したがって、基本的には、プロジェクトのorフォルダーにList.cshtml(or List.vbhtml)というファイルが必要であることがわかります。(コントローラーが呼び出され、慣例により、名前でビューが検索されます http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet -mvc-3で、これがどのように機能するかを確認できます。Views/SharedViews/News/NewsController

エリアは、アプリケーションのコードを整理するための MVC 機能ですが、エリアの構成が不足している可能性があります。詳細については、これをお読みください。

于 2012-11-02T16:17:32.120 に答える