首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >波浪号(~)在asp.net路径中的使用

波浪号(~)在asp.net路径中的使用
EN

Stack Overflow用户
提问于 2010-06-20 06:58:36
回答 5查看 87.3K关注 0票数 80

我在一个asp.net应用程序上工作,以下链接在IE中工作,但在FF中不起作用。

代码语言:javascript
复制
<a href="~/BusinessOrderInfo/page.aspx" >

波浪号不是只能在asp.net服务器控件中使用的东西。在哪里它将被实际的路径所取代?

可以在锚点标记中使用波浪号吗?如果是这样,这意味着什么?

当我在根目录中时,链接可以正常工作

代码语言:javascript
复制
www.myserver.com/default.aspx, click the link, ok!

www.myserver.com/otherpart/default.aspx, click the link, not ok!

ASP.NET生成的链接为:

代码语言:javascript
复制
www.myserver.com/otherpart/~BusinessOrderInfo/page.aspx

这是设计出来的吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-06-20 07:03:53

你是对的,它只在服务器控件中起作用。你有这些基本的选择:

更改为以Web Control身份运行的HyperLink

代码语言:javascript
复制
<asp:HyperLink NavigateUrl="~/BusinessOrderInfo/page.aspx" Text="Whatever" runat="server" />

或者,在服务器端作为HTML Control运行锚点:

代码语言:javascript
复制
<a href="~/BusinessOrderInfo/page.aspx" runat="server" >

或者,使用Page.ResolveUrl

代码语言:javascript
复制
<a href="<%= Page.ResolveUrl("~/BusinessOrderInfo/page.aspx") %>">...</a>
票数 98
EN

Stack Overflow用户

发布于 2010-06-20 07:12:46

通过添加runat=" server“属性,可以将HTML控件转换为服务器控件。

代码语言:javascript
复制
<a href="~/BusinessOrderInfo/page.aspx" runat="server">
票数 22
EN

Stack Overflow用户

发布于 2010-06-20 07:07:00

代字号引用应用程序根目录,并将在控件属性(如NavigateUrl )中正确转换。

我的理解是,如果你在普通的超文本标记语言中使用它,它将不会被ASP.Net翻译。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3077558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档