2013-02-21 4 views
0

У меня есть отчет, который указывает действие «Перейти к URL» для текстового поля. Используемый мной URL-адрес - это просто поле из набора данных, поэтому выражение для URL-адреса похоже на «= Поля! URLLinkText.Value». Когда я развертываю отчет в диспетчере отчетов SSRS, ссылка работает нормально. Он доступен для просмотра и открывает URL-адрес. Тем не менее, когда я ссылаюсь на отчет из пользовательского приложения asp.Net Reporting Application, эта ссылка не доступна. Курсор мыши не меняется даже при наведении курсора на ссылку. Похоже, что свойство hyperlink/Go To текстового поля полностью удалено. Сначала я подумал, что это должно быть проблемой с настройкой приложения для отчетов, которое отключает внешние гиперссылки. Тем не менее, я создал еще один отчет только с одним текстовым полем с Go To Action, чтобы перейти на сайт www.CNN.com, и он работал как с диспетчером отчетов, так и с Report Report ...SSRS - ссылка не доступна для кликов .net Report Application

Любые предложения?

ответ

0

Я только что опубликовал сообщение о возможной проблеме. Тем не менее, это не связано с каким-либо настраиваемым приложением. http://weblogs.asp.net/mnissen/archive/2009/03/26/reporting-services-does-not-display-hyperlink-for-placeholder-with-go-to-url-action.aspx

несколько различных вариантов, вы можете попробовать: обернуть ссылку в JavaScript, попробуйте «имя_сервера: порт» вместо названия сайта, если его внутренняя, или попытаться обратить вспять косой черты, как HTTP обратный слэш обратный слэш ...

+0

Благодаря BNW, я попробовал JavaScript, а также применения Перейти к свойствам к и выражение и текстовое поле, используя REPLACE, чтобы заменить косые черты с помощью обратной косой черты, чтобы обмануть браузер в исправлении недопустимого URL и т. д. Ничто не работает. Посмотрите также на portname: port. – dp3

0

Вам нужно будет обрабатывать событие щелкнул гиперссылкой для управления ReportViewer:

Назначение обработчика в вашем ReportViewer конструктор

YourReportViewerControl.Hyperlink += new HyperlinkEventHandler(YourReportViewerControl_Hyperlink); 

void YourReportViewerControl_Hyperlink(object sender, HyperlinkEventArgs e) 
     { 
       e.Cancel = true; 

       System.Diagnostics.Process.Start(e.Hyperlink); 
     } 
Смежные вопросы