ASP MVC Route Config - ресурс не может быть найден ошибка
Я новичок в asp mvc, в настоящее время моя структура демо-проекта выглядит следующим образом:
Areas -- Comment -- Controller -- HomeController -- ManageController
Controller -- HomeController |-- CommentController |____ PostMsg |____ DeleteMsg Views -- Home | |--- Index.cshtml |-- Comment |--- PostMsg.cshtml |--- DeleteMsg.cshtml
Когда я просматриваю url-адрес, например :
http://localhost/Comment/Manage/ --> return view successfully http://localhost/Comment/PostMsg --> error "The resource cannot be found."
У кого-нибудь есть идеи, почему asp mvc не разрешает мой контроллер :-(
вот моя конфигурация маршрута global.asax.cs:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }, namespaces: new[] { "Demo.Web.Controllers" } );
вот моя конфигурация маршрута регистрации области:
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Comment_default", "Comment/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new[] { "Demo.Web.Areas.Comment.Controllers" } ); }
Проблема : комментарий/PostMsg URL-адрес был разрешен в качестве регулятора в области комментария
Цель : URL-адрес Comment/PostMsg был разрешен как действие CommentController
Любая помощь будет оценена по достоинству :-)
ПРОБЛЕМА РЕШЕНА измените оформление участка маршрута конфигурации (обойти):
public override void RegisterArea(AreaRegistrationContext context) { context.MapRoute( "Comment_default", "Comment/PostMsg", new { controller = "Comment", action = "PostMsg", id = UrlParameter.Optional }, new[] { "Demo.Web.Controllers" } ); context.MapRoute( "Comment_default", "Comment/{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = UrlParameter.Optional }, new[] { "Demo.Web.Areas.Comment.Controllers" } ); }