我正在使用asp.net应用程序,以下链接适用于IE,但不适用于FF.
<a href="~/BusinessOrderInfo/page.aspx" >
Run Code Online (Sandbox Code Playgroud)
是不是只能在asp.net服务器控件中使用的波形符.它将被实际路径取代?
是否可以在锚标签中使用波浪号?如果是这样的话是什么意思?
当我在根时,链接工作
www.myserver.com/default.aspx, click the link, ok!
www.myserver.com/otherpart/default.aspx, click the link, not ok!
Run Code Online (Sandbox Code Playgroud)
ASP.NET生成的链接是:
www.myserver.com/otherpart/~BusinessOrderInfo/page.aspx
Run Code Online (Sandbox Code Playgroud)
这是设计的吗?
Dea*_*ing 91
你是对的,它只适用于服务器控件.你有这些基本选择:
更改为HyperLink作为Web控件运行:
<asp:HyperLink NavigateUrl="~/BusinessOrderInfo/page.aspx" Text="Whatever" runat="server" />
Run Code Online (Sandbox Code Playgroud)
或者,在服务器端运行锚点作为HTML控件:
<a href="~/BusinessOrderInfo/page.aspx" runat="server" >
Run Code Online (Sandbox Code Playgroud)
或者,使用Page.ResolveUrl:
<a href="<%= Page.ResolveUrl("~/BusinessOrderInfo/page.aspx") %>">...</a>
Run Code Online (Sandbox Code Playgroud)
Dam*_*ehy 21
通过添加runat ="server"属性,可以将HTML控件转换为服务器控件.
<a href="~/BusinessOrderInfo/page.aspx" runat="server">
Run Code Online (Sandbox Code Playgroud)
dev*_*vio 11
代字号指向应用程序根目录,并将在控件属性(如NavigateUrl)中正确转换.
我的理解是,如果你在纯HTML标签中使用它,它将不会被ASP.Net翻译.