【问题标题】:how to call javascript from asp.net HyperLink control如何从asp.net超链接控件调用javascript
【发布时间】:2012-05-19 05:16:32
【问题描述】:

我只是想从 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);

【问题讨论】:

    标签: javascript asp.net hyperlink


    【解决方案1】:

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

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

    【讨论】:

    • 这是我需要的。只需在 OnClick 上替换 OnClientClick — 标准 HTML 属性。如下所述,HyperLink 类中没有 OnClientClick 属性。
    【解决方案2】:

    如果您改用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/

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        看来你基本上都在那里了,这是怎么回事?

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

        【讨论】:

        • 它没有在智能感知中显示 onclick 或 onclientclick 属性
        • 没关系,反正都能用。 WebForms 会为您呈现它无法识别的属性到 html 中。
        • 它不起作用
        • 这对我有用
        • HyperLink 控件没有OnClientClick 属性。
        猜你喜欢
        • 2010-09-17
        • 2014-06-09
        • 1970-01-01
        • 2016-04-09
        • 1970-01-01
        • 1970-01-01
        • 2013-06-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多