Вместо гиперссылки asp: вы можете рассмотреть возможность использования другого элемента управления asp, который поддерживает атрибут OnClientClick
.
Другой вариант - использовать JavaScript (используйте вашу любимую библиотеку, например, jQuery), чтобы прикрепить код отслеживания событий Google Analytics к вашему asp: hyperlink:
jQuery("#GeneratedIDForHyperLink3").click(
function() {
try {
pageTracker._trackEvent(categoryVal, actionVal, labelVal);
} catch(err) {}
});
Вы можете сделать что-нибудьнапример, в блоке document.ready ().
ОБНОВЛЕНИЕ
Вы можете использовать asp: linkbutton, добавляя javascript в OnClientClick, чтобы запретить публикацию действий нажатия кнопкина сервер.
<asp:LinkButton ID="HyperLink3" runat="server" ForeColor="Black" Style="text-decoration: none" OnClientClick="javascript: pageTracker._trackPageview('/downloads/map');document.location = '/Protected/Download.aspx?pfile=logos.zip';return false;">
<b>Download<img alt="" src="../external_files/images/downloadzip.gif" style="width: 40px; height: 40px" border="0" /></b>
</asp:LinkButton>
Обратите внимание, что OnClientClick вызывает функцию отслеживания событий Google, затем изменяет местоположение документа и в качестве меры безопасности возвращает false, чтобы предотвратить публикацию на сервере.
Iне назвал бы это лучшей практикой и лично решил бы сделать это по-другому.