Bu işler olmaz bu localhost:/ChildController/index normaldir
2474/SOProblems/AltKlasör. Siz rota modeli şu şekilde görünür: SubFolder/ChildController
ve SubFolder/ChildController/index
. Buna ek olarak, rotanızı WRONG yerinde tanımladınız. Bunu ana rota tanımlarınızda tanımladınız ve bölgenizdeki rota tanımlarında değil. Yani ana rotalardan özel yolu tanımı kurtulmak ve (sizin SOProblems
yolları kayıtlı olması gereken yerde olan) SOProblemsAreaRegistration.cs
dosyaya ekleyin: Ayrıca
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"SubFolderRoute",
"SOProblems/SubFolder/ChildController",
new { controller = "ChildController", action = "Index" },
new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" }
);
context.MapRoute(
"SOProblems_default",
"SOProblems/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
rota desen beri (SOProblems/SubFolder/ChildController
) yok Bir eylem adı belirleme olasılığı, bu denetleyicide yalnızca bir eyleminiz olabilir ve bu, bu durumda (index
) kaydettiğiniz varsayılan eylem olacaktır. ana güzergah tanımı varsayılan değerlerine sahip kalabileceklerini Her iki durumda da
context.MapRoute(
"SubFolder",
"SOProblems/SubFolder/ChildController/{action}",
new { controller = "ChildController", action = "Index" },
new[] { "Practise.Areas.SOProblems.Controllers.SubFolder" }
);
: Bu denetleyici üzerinde daha fazla işlem var ve henüz endeks varsayılan kullanırken rota desende o içermelidir biri olmak istiyorsa
:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Home", action = "Index" }
);
}
"Çalışmıyor" tam olarak ne anlama geliyor? – TGlatzer
@ Grumbler85 - son denenen URL 404, –
veriyor. Backtick burada "SubFolder'/ChildController" var mı? Alt klasörün içindeki ad alanının doğru ayarlandığını kontrol edin. – TGlatzer