Необходимо выполнить код на обычной гиперссылке - PullRequest
1 голос
/ 05 января 2012

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

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

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

Ответы [ 3 ]

2 голосов
/ 05 января 2012

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

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

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

1 голос
/ 05 января 2012

Так как вы хотите открыть ссылку в новом окне (вкладка) Я бы предложил JavaScript Window.Open, а до этого AJAX-вызов для вашего аудита. Это должно быть быстро и лучше UX.

1 голос
/ 05 января 2012

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

...