Используя EpiServer 8.0, нам нужно получить «дружественный» URL-адрес от объекта PageData в классе C#. Без преобразования URL-адреса внутренние ссылки выглядят как «localhost/link/[guid] .aspx» вместо «localhost/friendly-link». Я видел онлайн сообщения, которые предполагают следующее:Как извлечь дружественный URL-адрес из объекта PageData EpiServer?
var urlHelper = ServiceLocator.Current.GetInstance<UrlHelper>();
var friendlyUrl = urlHelper.ContentUrl(currentPage.Link);
Но когда я пытаюсь это, Visual Studio возвращает следующее сообщение об ошибке:
'System.Web.Mvc.UrlHelper' does not contain a definition for 'ContentUrl' and no extension method 'ContentUrl' accepting a first argument of type 'System.Web.Mvc.UrlHelper' could be found (are you missing a using directive or an assembly reference?)
Вот код, который я в настоящее время есть, не используя операторы так легко увидеть пространства имен, которые используются.
var urlHelper = EPiServer.ServiceLocation.ServiceLocator.Current.GetInstance<System.Web.Mvc.UrlHelper>();
var friendlyUrl = urlHelper.ContentUrl(myPage.Link);
Не хватает ли ссылки в нашем проекте, чтобы сделать работу ContentUrl? Или есть какой-то альтернативный код, который мы можем использовать, чтобы получить дружественный URL-адрес из объекта PageData? Спасибо за вашу помощь.
Спасибо за это Эрик. –
@KenPalmer Добро пожаловать, обновите образец немного –