Запись пользовательского aspnet mvc действие без действия

Я надеюсь писать пользовательский маршрут, который позволил бы следующее

http://localhost/blog/tags/foo

В настоящее время это - то, что на самом деле работает

http://localhost/tags/Index/nhibernate

Я попробовал следующее без успеха - любая справка ценилась бы

маршруты. MapRoute ("Теги", "{контроллер} / {идентификатор}", новый {Контроллер = "Теги", действие = "Индекс", идентификатор = UrlParameter. Дополнительный});

маршруты. MapRoute ("Теги", "заносят / в блог {контроллер} / {идентификатор}", новый {Контроллер = "Теги", действие = "Индекс", идентификатор = ""});

1
задан Toran Billups 1 June 2010 в 22:22
поделиться

1 ответ

Вы могли бы использовать в вашем global.asax что-то вроде этого:

routes.MapRoute("Tags",
                "blog/tags/{TagName}", 
                new { Controller = "Tags", action = "ShowTag", TagName = "" });

Затем вам понадобится контроллер под названием 'TagsController.cs' с методом ActionResult под названием ShowTag плюс соответствующий aspx под названием ShowTag.aspx. Ваш метод ShowTag должен выглядеть примерно так:

public ActionResult ShowTag(string TagName)
{
    //do stuff here to get Id from tag name and get other data etc...
    return View();
}

Обратите внимание, что порядок, в котором вы прокладываете маршруты в Global.asax.cs имеет значение.

2
ответ дан 3 September 2019 в 00:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: