ASP.NET MVC 3 projemle aşağıdaki hatayla karşılaşıyorum:
"Ana Sayfa" adlı denetleyiciyle eşleşen birden çok tür bulundu. Bu, bu isteğe hizmet veren yol ("Ana Sayfa / {eylem} / {id}"), istekle eşleşen bir denetleyiciyi aramak için ad alanları belirtmiyorsa olabilir. Bu durumda, bir 'ad alanları' parametresi alan 'MapRoute' yönteminin bir aşırı yüklemesini çağırarak bu rotayı kaydedin.
'Ana Sayfa' isteği aşağıdaki eşleşen denetleyicileri buldu: MyCompany.MyProject.WebMvc.Controllers.HomeController MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController
MyCompany.MyProject.WebMvc.Controllers.HomeController sınıf adına sahip varsayılan denetleyici klasörümde bir HomeController var.
Global.asax dosyamdaki RegisterRoutes yöntemim şöyle görünür:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
Daha sonra, alan için varsayılan denetleyici klasöründe bir HomeController ile, MyCompany.MyProject.WebMvc.Areas.Company.Controllers.HomeController sınıf adıyla Şirket adında bir alanım var.
CompanyAreaRegistration dosyasındaki RegisterArea yöntemi şuna benzer:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Company_default",
"Company/{controller}/{action}/{id}",
new { area = "Company", action = "Index", id = UrlParameter.Optional }
);
}
Bunların hepsi, bu yazının başında vurguladığım hataya öncülük ediyor. NO LUCK ile çeşitli diğer gönderilerden bir çözümü bir araya getirmeye çalışıyorum .
Varsayılan denetleyiciler klasöründe ve ardından HER alanında bir HomeController olması mümkün müdür? Öyleyse, bunun çalışmasını sağlamak için yapılandırma dosyamda (yaptığımı varsayarak) değişiklik yapmam gerekir mi?
Herhangi bir yardım çok takdir edilecektir!