5

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

<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

4 回答 4

12

我知道这很旧,但对于任何有兴趣的人,只需添加 onclick 即可。额外的属性(即使它没有出现在智能感知上)将传递给渲染的标记。

            <asp:HyperLink ID="HyperLink4" runat="server" onclick="logDownload();" NavigateUrl="~/download/Sample-Icons.zip">Download Icons</asp:HyperLink>
于 2013-06-24T14:33:42.420 回答
8

如果您使用 aLinkButton而不是,您可以使用该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/

于 2012-05-10T16:32:48.147 回答
4

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

var hyperLink = new HyperLink { Text = "Display text", ID = "hyperlinkId"};
hyperLink.Attributes.Add("onclick", "javascriptMethod()");
于 2014-10-30T16:58:30.323 回答
-4

看起来你基本上在那里,这有什么问题?

<asp:HyperLink ID="Hyperlink" runat="server" OnClientClick="OpenImage(this.src)" />   
于 2012-05-10T15:28:37.427 回答