Html.RouteLink href null несмотря на маршрут (кажется), чтобы работать - PullRequest
1 голос
/ 13 августа 2011

У меня есть маршрут (который работает):

routes.MapRoute(
    "Details", // Route name
    "{controller}/{id}", // URL with parameters
    new { controller = "Advisors", action = "Details", id = UrlParameter.Optional }, // Parameter defaults
    new { id = new GuidConstraint() } // Constraint
);

И ссылка:

@Html.RouteLink(@item.FullName, "Details", new { controller = "Advisors", id = item.Id })

Однако ссылка отображается как:

<a href="">David Wick</a>

В основном моя цель здесь состоит в том, чтобы маршруты были {controller}/{id}, и отображаемые ссылки также были в этом формате.При использовании Html.ActionLink() ссылки отображаются как {controller}/{action}/{id}, а Html.RenderRoute(), похоже, не работает вообще, несмотря на работающий маршрут.

Что здесь происходит?

Ответы [ 2 ]

1 голос
/ 13 августа 2011

Мне удалось исправить эту проблему только сейчас, изменив "item.Id" на "item.Id.ToString ()". Вероятно, не идеальное решение, но пока достаточно для меня.

0 голосов
/ 30 апреля 2014

У меня была похожая проблема (я думаю), и это было на самом деле ограничение маршрута, потому что IRouteConstraint проверял на

routeDirection == RouteDirection.IncomingRequest

, тогда как HTML-помощник RouteLink фактически выдает

routeDirection == RouteDirection.UrlGeneration
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...