К сожалению, мне никогда не удавалось заставить HyperLinkField выводить разумно при попытке создать URL-адрес JavaScript.Следующее, однако, будет работать для вас:
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink runat="server"
NavigateUrl='<%# "javascript:popUp(" + Eval("ApplicantId") + ")" %>'
Text="View">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
Одна вещь, о которой стоит помнить в любое время, когда вы не создаете URL-адрес JavaScript, это свойства DataNavigateUrlFields
и DataNavigateUrlFormatString
, так какПозволяет вам собрать URL намного чище:
<!-- Doesn't work due to "javascript:" target -->
<asp:HyperLinkField Text="View" DataNavigateUrlFields="ApplicantId"
DataNavigateUrlFormatString="javascript:popUp({0})" />
<!-- Does work as targeting a "http://" target -->
<asp:HyperLinkField Text="View 2" DataNavigateUrlFields="ApplicantId"
DataNavigateUrlFormatString="http://localhost/popUp/{0}/" />