T4MVC вызывает неправильные URL - PullRequest
0 голосов
/ 21 мая 2011

Использование 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 Ответ

2 голосов
/ 21 мая 2011

Вам необходимо изменить 'MVC.Home.Views.Index' на 'MVC.Home.Index ()':

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