#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" })