2017-06-22 3 views
0

Ich erhalte eine IIS 404-Fehlermeldung, wenn ich versuche, die Index-Methode in meinem Home-Controller im agency Bereich zu gehen. Wenn ich das route Attribut zu [Route("{action}")] aktualisiere, funktioniert es gut, aber ich möchte index als die Standardroute behalten.404 Attribut-Routing im Bereich

Aus meiner Sicht habe ich dies:

@Html.ActionLink("Click here", "index", "home", new { area = "agency" }, new { @class = "btn btn-block btn-lg btn-primary" }) 

Homecontroller in Agentur Gebiet

namespace ProjectName.UI.Areas.Agency.Controllers 
{ 
    [RouteArea("agency")] 
    [RoutePrefix("home")] 
    [Route("{action=index}")] 
    public class HomeController : BaseController 
    { 

     public ActionResult Index() 
     { 
      return View(); 
     } 
    } 
} 

RouteConfig:

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapMvcAttributeRoutes(); 
    AreaRegistration.RegisterAllAreas(); 

    routes.MapRoute(
     name: "Default", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "home", action = "index", id = UrlParameter.Optional }, 
     namespaces: new[] { "ProjectName.UI.Controllers" } 
    ); 
} 

ich auch einen Admin-Bereich haben, der genau gleich aussieht wie Der Agenturbereich, außer der RouteArea ist admin und ich habe keine irgendwelche Probleme.

Alle Vorschläge wären willkommen.

Antwort

0

Ich fand, dass das Problem war, weil mein Bereich Agency genannt wurde und in meinem Views Ordner hatte ich einen anderen Unterordner, der Agency genannt wurde. Anstatt zu agency/home/index zu routen, wurde versucht, eine home Ansicht in meinem agency Ordner zu finden.