2012-01-05 5 views
1

У меня странная ситуация. У меня есть веб-сайт, где гиперссылки динамически генерируются (как пользовательские элементы управления), которые имеют атрибут target, установленный на _blank, так как мне нужно его открыть в новом окне. Из-за характера отображения новой страницы мне нужно провести аудит, когда пользователь нажимает на нее. У меня уже есть функция аудита, поэтому я ищу способ запустить код, прежде чем ссылка откроет новую страницу.Необходимо выполнить код по обычной гиперссылке

Если бы он был на внутренней странице на том же сайте, я мог бы просто иметь гиперссылку в качестве командной кнопки, которая запускает код аудита, а затем делает Response.Redirect().

У меня нет никакого контроля над целевыми страницами, потому что они находятся на другом сайте. Мне было бы интересно, как это сделали другие, и возможно ли это сделать так, как я объяснил!

ответ

2

Измените свои ссылки, чтобы быть обработчиком на вашем сайте, который выполняет аудит, а затем перенаправляет. Так что ваши ссылки будут что-то вроде

<a href="/MyAuditingHandler.ashx?targetUrl=http://www.externalsite.com" target="_blank"></a> 

Вашего аудита обработчика, считывает параметр targetUrl и затем перенаправляет.

+0

Конечно, я полностью пропустил то, что мог сам обработчик как всплывающее окно. – Arj

1

Вы все еще можете использовать технику Response.Redirect(), или я что-то пропущу здесь? Имейте настоящие гиперссылки, переданные в качестве параметров вашей странице аудита ...

1

Поскольку вы хотите открыть ссылку в новом окне (вкладка) Я бы предложил окно JavaScript. Откройте и перед этим AJAX вызовите свой аудит , Это будет быстрым и лучшим UX.

+0

Response.Redirect - страшный промежуток UX, а также загрузка сервера. –

Смежные вопросы