Ich erstellte MVC-Anwendung, die 3 verschiedene Bereich haben. (Admin, Benutzer, News) Das ist meine RouteConfig.cs Datei in App_Start Verzeichnis:So registrieren Sie Bereiche für das Routing
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "TestMvcApplication.Controllers" }
);
}
}
Und das ist meine AdminAreaRegisteration.cs Datei:
namespace TestMvcApplication.Areas.Admin
{
public class AdminAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Admin";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "TestMvcApplication.Areas.Admin.Controllers" }
);
}
}
}
Und schließlich das ist mein Global.asax .cs Datei Inhalt:
namespace TestMvcApplication
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
}
}
}
Homepage meiner Website voll geladen und es funktioniert. aber Homepage von Admin oder anderen Bereichen werden nicht von Route erkannt und ich gab diese Fehlermeldung:
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Admin/Home
Wie kann ich dieses Problem lösen? Danke.
Haben Sie tatsächlich einen Heim-Controller in Ihrem Admin-Bereich? – James
Ja, ich habe eine HomeController.cs-Klasse für jeden Bereich. – Mojtaba
Hat Ihr HomeController eine Indexmethode? Haben Sie die Eigenschaft 'AreaName' überschrieben? – James