如何从asp.net HyperLink控件调用javascript

时间:2012-05-10 15:25:40

标签: javascript asp.net hyperlink

我只想从asp.net超链接调用JavaScript函数 即时通讯使用http://orangoo.com/labs/GreyBox/我的要求是在超链接上显示缩略图,然后单击显示完整图像。我应该使用另一个控件吗? 我的代码如下:

<asp:HyperLink ID="Hyperlink" runat="server" CssClass="Screenshot" ImageUrl="App_Themes/White/Images/thmb_screenshot_1.png"
                        NavigateUrl="App_Themes/White/Images/screenshot_1.png" ToolTip="screenshot 1"   />   

<script language="javascript" type="text/javascript">     
    //Greybox Image popup window
    function OpenImage(url) {
        var caption = "Home";
        return GB_showImage(caption, url)
    }         
</script>

我该如何使用

onclick="OpenImage(this.src);
or 
OnClientClick="OpenImage(this.src);

4 个答案:

答案 0 :(得分:12)

我知道这是旧的,但对任何感兴趣的人,只需添加onclick,它就可以正常工作。额外属性(即使它没有显示在intellisense上)将传递给渲染的标记。

            <asp:HyperLink ID="HyperLink4" runat="server" onclick="logDownload();" NavigateUrl="~/download/Sample-Icons.zip">Download Icons</asp:HyperLink>

答案 1 :(得分:8)

如果您使用LinkButton,则可以使用OnClientClick属性来执行JavaScript函数。使用HyperLink控件,您可以使用NavigateUrl属性,如下所示:

<asp:HyperLink ID="Link1" runat="server"
    Text="Click Me!"
    NavigateUrl="javascript:OpenImage('App_Themes/White/Images/thmb_screenshot_1.png');">
</asp:HyperLink>

这是一篇讨论它的文章:
http://gchandra.wordpress.com/2007/09/27/call-javascript-function-inside/

答案 2 :(得分:3)

我知道这已经过时了,但对于那些希望在服务器端而不是通过标记执行此操作的人来说,您可以这样做。

var hyperLink = new HyperLink { Text = "Display text", ID = "hyperlinkId"};
hyperLink.Attributes.Add("onclick", "javascriptMethod()");

答案 3 :(得分:-4)

看起来你基本上就在那里,这有什么不对?

<asp:HyperLink ID="Hyperlink" runat="server" OnClientClick="OpenImage(this.src)" />