2016-12-30 4 views
0

Так что в моем RouteConfig у меня есть маршрут, который выглядит следующим образом:.net HTML.RouteLink передает параметр как пары ключ-значение не разгромить

 routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{GUID}", 
      defaults: new { controller = "Home", action = "Index", GUID = UrlParameter.Optional } 
     ); 

И я делаю ссылку как это:

@Html.RouteLink("Thing", new { controller = "Modules", action = "View", GUID = "27ACBB7C-075A-49BD-9B43-000EAE3E6B6F" }) 

Я хочу, чтобы создать следующую ссылку:

<a href = ".../Modules/View/27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a> 

Но вместо этого я получаю:

<a href = ".../Modules/View?GUID=27ACBB7C-075A-49BD-9B43-000EAE3E6B6F">Thing</a> 

Как мне получить RouteLink, чтобы поместить параметр как путь, а не пару ключ-значение?

(Это кажется настолько очевидным, что я уверен, что кто-то скажет мне, что это дублированный вопрос, но я искал вопрос с каждым ключевым словом, которое я знаю, поэтому я буду счастлив получить ответ от существующего вопроса если он уже существует.)

ответ

0

Обычно это происходит, когда метод внутри контроллера имеет неправильное имя параметра.

внутри контроллера Modules, метод View должен быть определен как:

View(Guid GUID) 

 Смежные вопросы

  • Нет связанных вопросов^_^