这不是费马的最后一个定理,但它不断回到烦恼我,就像一个无薪的大学电话费.有时我想创建一个不会导致回发的HyperLink,所以我希望目标网址为#.当标记恰好来自子文件夹中的UserControl时,
/ |- Home.aspx (uses UC.ascx) |- Sub |- UC.ascx
URL用相对路径重写,例如
<asp:HyperLink runat="server" NavigateUrl="#" >Click Me!</asp:HyperLink>
变
<a href="SubFolder/#">Click Me!</a>
不幸的是,这是错的.显然,我可以通过不使用服务器控件来解决这个问题,但是它似乎很愚蠢.这可以避免吗?
解决方法
简单的方法:
<asp:HyperLink ID="HyperLink1" navigateUrl="#" onclick="javascript:return false;" runat="server">HyperLink</asp:HyperLink>
要么
<asp:HyperLink ID="HyperLink1" href="#" runat="server">HyperLink</asp:HyperLink>
或者jquery添加一个类到你不想拥有回发的链接(nopostback):
$("a.nopostback").bind('click',function () { return false; })