需要在常规超链接上执行代码

时间:2012-01-05 12:33:25

标签: c# asp.net hyperlink code-behind

我有一个奇怪的情况。我有一个网站,其中动态生成超链接(作为用户控件),target属性设置为_blank,因为我需要在新窗口中打开它。由于新页面显示的性质,我需要在用户点击它时进行审核。我已经设置了审核功能,所以我正在寻找一种在链接打开新页面之前运行代码的方法。

如果它位于同一站点的内部页面中,我可以简单地将超链接作为命令按钮运行审计代码,然后执行Response.Redirect()

我对目标网页没有任何控制权,因为它们位于不同的网站上。我会对她感兴趣,其他人是如何做到这一点的,以及是否有可能以我解释过的方式做到这一点!

3 个答案:

答案 0 :(得分:2)

将您的链接更改为您网站上执行审核然后重定向的处理程序。所以你的链接就像

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

您的处理程序审核,读取targetUrl参数,然后重定向。

答案 1 :(得分:1)

你仍然可以使用Response.Redirect()技术,或者我在这里遗漏了什么?将真正的超链接作为参数传递给审计页面......

答案 2 :(得分:1)

因为你想在新窗口中打开链接(标签) 我建议使用一个JavaScript Window.Open,在此之前为您的审计调用AJAX。这将是必须快速和更好的用户体验。