Это будет зависеть от того, как ваши маршруты и контроллеры в настоящее время структурированы.
Вот пример маршрута, который вы можете использовать.
Если вы хотите вызвать следующий маршрут для удаления:
http://localhost/MyArea/MySection/MySubSection/Delete/20
И давайте предположим, что у вас есть контроллер с именем «MyAreaController» с действием «Удалить», и для простоты давайте предположим, что раздел и подраздел - это просто строки, например:
public class MyAreaController : Controller
{
public ActionResult Delete(string section, string subsection, long id)
{
Тогда вы можете создать маршрут следующим образом (в вашем Global.asax.cs или там, где вы определяете свои маршруты):
var defaultParameters = new {controller = "Home", action = "Index", id = ""};
routes.MapRoute("DeleteEntryFromMySubSection", // Route name - but you may want to change this if it's used for edit etc.
"{controller}/{section}/{subsection}/{action}/{id}", // URL with parameters
defaultParameters // Parameter defaults
);
Примечание. Обычно я определяю перечисления для всех возможных значений параметров. Тогда параметры могут иметь соответствующий тип enum, и вы все равно можете использовать строки на своем пути. Например. У вас может быть перечисление «Section» со значением «MySection».