Установка HyperLinkField к URL JavaScript

У меня есть проблема, где мое поле Hyperlink в Asp.net GridView не принимает функцию JavaScript, которая откроет всплывающее диалоговое окно.

Я использую следующий отрывок

 <asp:GridView>
     <asp:HyperLinkField
         DataTextField="SomeColumn" HeaderText="Some Column Text"
         SortExpression="SomeColumn"
         HeaderStyle-HorizontalAlign="Left"
         DataNavigateUrlFormatString="javascript:LaunchSomePopupdialog({0})"
         DataNavigateUrlFields="Id"
         ItemStyle-Font-Underline="true" />  
 </asp:GridView>  

Однако, когда я использую URL страницы, он работает, например:

DataNavigateUrlFormatString="~/SomeOtherPage.aspx?Id={0}"

Существует ли способ, которым я могу сделать эту работу со своей функцией JavaScript?

5
задан Taz 12 May 2012 в 21:10
поделиться

1 ответ

Я думаю, вам нужно изменить его на обычный тег внутри поля шаблона без использования поля asp: hyperlink. Затем вы можете сделать что-то вроде этого:

<asp:TemplateField HeaderText="Some Column Text" ItemStyle-Font-Underline="true">
    <ItemTemplate>
<a href="#" onclick="javascript:LaunchYourStuff('<%#Eval("YourColumnID")%>')"><%#Eval("YourColumnDisplayText")%></a>
     </ItemTemplate>
</asp:TemplateField>

Все ваши атрибуты asp: hyperlinkfield помещаются в тег templateField.

ИЗМЕНИТЬ

Вы не можете разместить javascript в поле гиперссылки, так как это по замыслу

7
ответ дан 14 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

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