我在一个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
这是设计出来的吗?
发布于 2010-06-20 07:03:53
你是对的,它只在服务器控件中起作用。你有这些基本的选择:
更改为以Web Control身份运行的HyperLink
<asp:HyperLink NavigateUrl="~/BusinessOrderInfo/page.aspx" Text="Whatever" runat="server" />
或者,在服务器端作为HTML Control运行锚点:
<a href="~/BusinessOrderInfo/page.aspx" runat="server" >
或者,使用Page.ResolveUrl
<a href="<%= Page.ResolveUrl("~/BusinessOrderInfo/page.aspx") %>">...</a>
发布于 2010-06-20 07:12:46
通过添加runat=" server“属性,可以将HTML控件转换为服务器控件。
<a href="~/BusinessOrderInfo/page.aspx" runat="server">
发布于 2010-06-20 07:07:00
代字号引用应用程序根目录,并将在控件属性(如NavigateUrl )中正确转换。
我的理解是,如果你在普通的超文本标记语言中使用它,它将不会被ASP.Net翻译。
https://stackoverflow.com/questions/3077558
复制相似问题