Если ваш контроллер называется AdminPostController и вы хотите, чтобы он отображался в '/ Admin / Post / Add', тогда вы можете использовать:
routes.MapRoute("Admin", // Route name
"Admin/Post/{action}/{id}", // URL with parameters
new { controller = "AdminPost", action = "Add", id = "" } // Parameter defaults
);
Обратите внимание на использование параметров по умолчанию.
Если ваш контроллер называется AdminController и вы просто хотите разделить метод запроса, используйте значение по умолчанию:
routes.MapRoute("Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Который будет сопоставлять '/ Admin / Add /' с контроллером:
public class AdminController : Controller {
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Add(int id) {
//...
}
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult Add(int id) {
//...
}
}
Обратите внимание на использование [AcceptVerbs] для определения того, какой метод вызывать для запросов POST и GET.
См. блог Скотта Гу для получения более подробной информации