我正在使用asp.net应用程序,以下链接在IE中有效,但在FF中不可用。
<a href="~/BusinessOrderInfo/page.aspx" >
波浪号不是只能在asp.net服务器控件中使用的东西。它将被实际路径替换的地方?
是否可以在锚标记中使用波浪号?如果是这样,那意味着什么?
当我在根目录时,链接有效
www.myserver.com/default.aspx, click the link, ok! www.myserver.com/otherpart/default.aspx, click the link, not ok!
ASP.NET生成的链接是:
www.myserver.com/otherpart/~BusinessOrderInfo/page.aspx
这是设计使然吗?
您是正确的,它仅在服务器控件中有效。您有以下基本选项:
更改为HyperLink作为Web控件运行:
HyperLink
<asp:HyperLink NavigateUrl="~/BusinessOrderInfo/page.aspx" Text="Whatever" runat="server" />
或者,在服务器端将锚作为HTML控件运行:
<a href="~/BusinessOrderInfo/page.aspx" runat="server" >
或者,使用Page.ResolveUrl:
Page.ResolveUrl
<a href="<%= Page.ResolveUrl("~/BusinessOrderInfo/page.aspx") %>">...</a>