我试图在单击 asp gridview 的超链接字段时执行一些 javascript。 javascript 执行得很好,但是当 iframe 在显示之前闪烁时,页面会回发(javascript 只是设置 iframe 的源,然后将其显示从无显示到阻止。)。由于该控件没有这样的属性,我该如何禁用它的自动回发?
<Columns>
<asp:hyperlinkfield Text="Update"
NavigateUrl="javascript:ShowForm('frmAddAudits.aspx');"
HeaderText="Update"
target="_blank"/>
<asp:hyperlinkfield Text="Add Findings"
NavigateUrl="javascript:ShowForm('frmAuditFindings.aspx');"
HeaderText="Add Findings"
target="_blank" />
</Columns>
CSS
.ShowMe{display:block;}
.HideMe{display:none;}
Javascript
function ShowForm(urlToGoTo){
document.getElementById('myiFrame').src = urlToGoTo;
document.getElementById('myiFrame').className = "ShowMe";
}
最佳答案
尝试使用 TemplateFiled 和 anchor 标记,如下所示:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href="#" onclick="javascript:ShowForm('frmAddAudits.aspx');return false;">
</ItemTemplate>
</asp:TemplateField>
如果你愿意,你可以设置runat="server"
并给它一个ID
关于c# - 在 gridview asp :hyperlinkfield? 上禁用自动回发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17589572/