Я использую ASP.NET MVC 3 с движком Razor. У меня есть частичное представление, которое содержит одну строку:
@Html.ActionLink(ViewData["UserNameIfLoggedIn"], "Index", "Home")
Этот частичный вид отображается в моем _Layout.cshtml
виде. Фрагмент, который вызывает контроллер / действие, выглядит так:
@{Html.RenderAction("UserLoggedIn", "User");}
Я получаю сообщение об ошибке компиляции:
'System.Web.Mvc.HtmlHelper' не содержит определения для 'ActionLink' и лучшей перегрузки метода расширения 'System.Web.Mvc.Html.LinkExtensions.ActionLink (System.Web.Mvc.HtmlHelper, string, строка, объект) 'имеет недопустимые аргументы
Я сделал аналогичный вызов (такое же количество аргументов и те же типы данных параметров) в другом приложении MVC (учебное пособие), и он был выполнен просто отлично. Что может быть причиной этого?? Почему это не работает сейчас?
Я знаю, что это, вероятно, чрезвычайно новичок в вопросе MVC, но я не могу понять его.
РЕДАКТИРОВАТЬ: Решение заключается в следующем:
@Html.ActionLink(ViewData["UserNameIfLoggedIn"].ToString(), "Index", "Home")
Мне просто нужно было вызвать метод ToString()
, чтобы получить параметр в виде строки.