داشتن Route در سطوح زیر هم
سلام ، مطمئن نیستم که هنوان سوال خیلی هم مناسب باشه ، ولی اصطلاح بهتری به ذهنم نرسید.
تو برنامه ای که با ASP.net Core هست یک Area دارم که مسیر اون به این صورته :
[Area("MasterData")]
و تو فایل Startup هم کد زیر رو اضافه کرده ام :
routes.MapRoute("MasterData", "{area:exists}/{controller=Home}/{action=Index}/{id?}");
حالا اگر بخوام زیر این MasterData دوباره یک Area دیگه داشته باشم به طوریکه مثلا :
masterData/Account/Home/Id
کار بکنه ، چه جور Route باید بنویسم ؟هرچی گوگل می کنم به مثال خوبی نمیرسم ، احتمالا با کلیدواژه مناسبی سرچ نمی کنم.
3 پاسخ
سلام، دقیقاً متوجه منظورتون نشدم. یعنی چی که زیر این MaterData یه Area دیگه داشته باشید؟
اگه منظورتون Nested Area هست، تا جایی که من میدونم همچین چیزی رو پشتیبانی نمیکنه، به نظرم شما روت Action ها رو با Attribute مشخص کنید، اینطوری راحت تر قابل مدیریت هستن:
[Area("MasterData")]
public class MyController : Controller
{
[HttpGet("MasterData/View1")]
public IActionResult Index()
{
}
}
برای Controller بعدی
[Area("MasterData")]
public class AccountController : Controller
{
[HttpGet("MasterData/Account/Controller/View1")]
public IActionResult Index()
{
}
}
می خوام آدرس url مثلا اینطوری باشه :
http://domain.com/MasterData/Account/Contoller/Id