Вопрос по asp.net, javascript – как вызвать JavaScript из asp.net элемента управления HyperLink

4

Я просто хочу вызвать функцию JavaScript из гиперссылки asp.net я используюhttp://orangoo.com/labs/GreyBox/ Мое требование - показывать миниатюру по гиперссылке, а по клику показывать полное изображение. Должен ли я использовать другой элемент управления? мой код ниже:

<code><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>
</code>

как я могу использовать

<code>onclick="OpenImage(this.src);
or 
OnClientClick="OpenImage(this.src);
</code>
Попробуй сlinkbutton huMpty duMpty

Ваш Ответ

4   ответа
3

Я знаю, что это старый, но для тех, кто хочет сделать это на стороне сервера, а не через разметку, вы можете сделать.

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

Если вы используете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/

-4

Похоже, что вы в основном там, что с этим не так?

<asp:HyperLink ID="Hyperlink" runat="server" OnClientClick="OpenImage(this.src)" />   
это не вызывает JavaScript skhurams
& lt; asp: HyperLink ID = & quot; Гиперссылка & quot; Runat = & Quot; Сервер & Quot; OnClientClick = & Quot; OpenImage (this.src) & Quot; / & GT; это не работает skhurams
Свойство onclick или onclientclick не отображается в intellisense skhurams
Здесь нетOnClientClick атрибут для элемента управления HyperLink.
Это не имеет значения, все равно будет работать. WebForms отобразит атрибуты, которые он не распознает, в html для вас.
12

Я знаю, что это старый, но всем, кто заинтересован, просто добавьте onclick, и он будет работать нормально. Дополнительный атрибут (даже если он не отображается на intellisense) будет проходить к отображаемой разметке.

            <asp:HyperLink ID="HyperLink4" runat="server" onclick="logDownload();" NavigateUrl="~/download/Sample-Icons.zip">Download Icons</asp:HyperLink>
Это то, что мне было нужно. Просто замените OnClientClick на OnClick & # x2014; стандартный атрибут HTML. Как упоминалось ниже, в классе HyperLink нет свойства OnClientClick.

Похожие вопросы