Я надеюсь писать пользовательский маршрут, который позволил бы следующее
http://localhost/blog/tags/foo
В настоящее время это - то, что на самом деле работает
http://localhost/tags/Index/nhibernate
Я попробовал следующее без успеха - любая справка ценилась бы
маршруты. MapRoute ("Теги", "{контроллер} / {идентификатор}", новый {Контроллер = "Теги", действие = "Индекс", идентификатор = UrlParameter. Дополнительный});
маршруты. MapRoute ("Теги", "заносят / в блог {контроллер} / {идентификатор}", новый {Контроллер = "Теги", действие = "Индекс", идентификатор = ""});
Вы могли бы использовать в вашем 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 имеет значение.