برای منو ، شما میتونید با استفاده از Reflection منوهایی مثل جوملا بسازید تا نام همه ی Action های Controller هاتون را از Assembly مربوطه پیدا کنید .
نام اکشن ها رو میتونید جدا کنید ، از روی اون ها Route سایتتون رو بسازید و داخل دیتابیس اون هارو ذخیره کنید و به مدیر این لیست از اکشن هارو نمایش بدید تا بر اساس اون ها منو شما رو بسازند و دیگه نیازی به وارد کردن URL نیست.
برای استفاده از Reflection و بدست آوردن نام اکشن ها و کنترلر ها کافیه به این شکل عمل کنید :
var controllersActionNames =
from controller in Assembly.GetExecutingAssembly().GetTypes()
where typeof(Controller).IsAssignableFrom(controller)
from action in controller.GetMethods()
where typeof(ActionResult).IsAssignableFrom(action.Retur nType)
select new { Controller = controller, Action = action };
داخل داده های ذخیره شده در این متغییر شما به راحتی با استفاده از Linq میتونید جستجو کنید و نام اکشن ها و کنترلر هارو جدا کنید و Route هاتون رو بسازید و داخل دیتابیس ذخیره کنید .