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

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

Что я делаю неправильно?


person Matt V    schedule 20.05.2011    source источник


Ответы (1)


Вам нужно изменить «MVC.Home.Views.Index» на «MVC.Home.Index()»:

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