T4MVC вызывает неправильные URL-адреса

#asp.net-mvc-3 #t4mvc

#asp.net-mvc-3 #t4mvc

Вопрос:

Используя T4MVC в моем новом проекте MVC Razor, у меня будет ссылка на действие, вот так

 @Html.ActionLink(ViewRes.SharedStrings.HomeLink, MVC.Home.Views.Index, null, new { rel = "dropmenu7" })
  

итак, я ожидал бы URL, подобный
http://localhost:52122/Home/Index

но то, что я получаю,http://localhost:52122/Home /~/Views/Home/Index.cshtml

заглядывая в файл шаблона t4mvc, я вижу, откуда берется «~/Views / Home / Index.cshtml», но я не хочу его трогать, потому что это было сделано таким образом, и я бы предположил, что мне не нужно ничего там менять.

Спрашивая друга, он говорит, что я должен использовать RouteLink вместо ActionLink, потому что я иногда захожу в места за пределами контроллера. Однако, когда я это делаю, я получаю: «Маршрут с именем ‘~ /Views/ Home/Index.cshtml’ не удалось найти в коллекции маршрутов». когда я пытаюсь запустить приложение.

Думаю, я также должен отметить, что ссылки, которые я использую, находятся в _Layout.cshtml

Что я делаю не так?

Ответ №1:

Вам нужно изменить ‘MVC.Home.Число просмотров.Индексируйте ‘ на ‘MVC.Home.Index()’:

 @Html.ActionLink(ViewRes.SharedStrings.HomeLink, MVC.Home.Index(), null, new { rel = "dropmenu7" })