2016-08-26 10 views
1

私の解決策では、ルートレベルにコントローラ、ビューフォルダがあります。これらのそれぞれには、インデックスメソッドを持つホームコントローラとインデックスフォルダを持つビューフォルダ(デフォルトのMVCセットアップ)。ルートレベルでは、「Areas」フォルダを導入しました。ここでは、そのエリアの別のフォルダを作成し、次にコントローラとビューのフォルダを作成しました。インデックス方式のホームコントローラとインデックスビューのビューフォルダ それはすべての罰金構築しますが、私は、次のエラーが表示さ:ルーティングによる参照参照の問題

app.UseMvc(routes => 
     { 
      routes.MapRoute(
      name: "areaRoute", 
      template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"); 

      routes.MapRoute(
       name: "default", 
       template: "{controller=Home}/{action=Index}/{id?}"); 

     }); 

フォルダ構造::私は私の設定ファイルに

AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:

VisualJobs.Controllers.HomeController.Index (VisualJobs) VisualJobs.Areas.Recruiter.Controllers.HomeController.Index (VisualJobs) VisualJobs.Areas.Jobs.Controllers.HomeController.Index (VisualJobs)

Areas -->Candidate-->Controllers 
         Shared 
         ViewModels 
         Views 
Areas -->Recruiter-->Controllers 
         Shared 
         ViewModels 
         Views 
Controllers 
Views 
+0

ここにフォルダ構造を表示できますか? –

+0

@SmitPatel私は主な質問を更新しました。コメントの書式を正しく設定することができませんでした。 – bilpor

答えて

0

あなたが持っているので、それであってもよいですあなたのエリアコントローラークラスをArea属性で飾ってはいけません。このようなもの。

[Area("Recruiter")] 
public class MyController : Controller 
{ 
    ... 
} 

また、領域のビューフォルダに_ViewImports.cshtmlと_ViewStart.cshtmlが必要です。