我只想从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);
答案 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)" />