这不完全是费马的最后一个定理,但它一直让我感到烦恼,就像大学里的无薪电话账单一样.有时我想创建一个HyperLink不会导致回发的内容,因此我希望目标网址为#.当标记恰好来自子文件夹中的UserControl时,
/
|- Home.aspx (uses UC.ascx)
|- Sub
|- UC.ascx
Run Code Online (Sandbox Code Playgroud)
用相对路径重写URL,例如
<asp:HyperLink runat="server" NavigateUrl="#" >Click Me!</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
变
<a href="SubFolder/#">Click Me!</a>
Run Code Online (Sandbox Code Playgroud)
不幸的是,这是错误的.显然我可以通过不使用服务器控件来解决这个问题,但它似乎很愚蠢.这可以避免吗?
这里的重点是我将使用jQuery或代码隐藏添加click事件,我从不希望它导致回发,但我希望它是CSS原因的超链接.
Cas*_*jne 11
简单的方法:
<asp:HyperLink ID="HyperLink1"
navigateUrl="#"
onclick="javascript:return false;"
runat="server">HyperLink</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
要么
<asp:HyperLink ID="HyperLink1"
href="#"
runat="server">HyperLink</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
或者jquery在你不想要回发的链接中添加一个类(nopostback):
$("a.nopostback").bind('click', function () {
return false;
})
Run Code Online (Sandbox Code Playgroud)
您可以设置服务器端元素的属性.
<asp:HyperLink ID="HyperLink1" runat="server" Text="Click me"
href="#" style="color: red;" />
Run Code Online (Sandbox Code Playgroud)
在代码隐藏中,使用Attributes属性
HyperLink1.Attributes
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8084 次 |
| 最近记录: |