По какой-то причине мое приложение неправильно перенаправляет мой метод контроллера. У меня есть рутелинк на моей веб-странице:
<%= Html.RouteLink("View", "Blog", new { id=(item.BlogId), slug=(item.Slug) }) %>
В global.asax.cs у меня есть следующие маршруты -
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"MoreBlogs",
"Blog/Page/{page}",
new { controller = "Blog", action = "Index" }
);
routes.MapRoute(
"Blog",
"Blog/View/{id}/{slug}",
new { controller = "Blog", action = "View"}
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Blog", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
А потом у меня есть класс BlogController, у которого есть метод -
public ActionResult View(int id, string slug)
{
... etc.
}
Я поставил точку останова в первой строке метода View, но это не ударил вообще. Я проверил с помощью отладчика маршрута для формата localhost / Blog / View / 1 / test, и он соответствовал моему пользовательскому маршруту. Все, что я получаю, это 404 во время выполнения этого, я не могу понять, почему маршрут не публикуется в методе представления в моем контроллере - какие-нибудь идеи?