我习惯将网址硬编码到我的HTML中:
...<a href="www.mySite.com/login">logon to your account.</a>
在开发期间,当我想要定位特定的网络应用版本时,我将使用类似'myDev.mySite'的全局搜索/替换'www.mySite'。
由于这种习惯已经变得习惯了,我无法清楚地记得,如果有一个堕落的好理由我不使用相对地址,或者我只是持续愚蠢。
我想认为.net与我们定义连接字符串的方式类似,我可以将根URL定义为全局变量,但到目前为止还没有找到该功能。
答案 0 :(得分:3)
在ASP.NET MVC中,使用
<a href='<%=Url.Action("Login")%>'>login</a>
它会自动生成有效的网址。
答案 1 :(得分:0)
<base href>
几乎完全符合你的要求。
答案 2 :(得分:0)
Jan的答案是ASP.NET MVC的最佳答案,因为您可以独立更改URL映射到视图的方式。任何ASP.NET站点的更通用的解决方案是使用波浪号。例如,
Page.ResolveClientUrl("~/My/Path.aspx")
将自动解析〜到Web应用程序根目录。或者,如果您使用ASP.NET控件,
<asp:HyperLink runat="server" NavigateUrl="~/My/Path.aspx" Text="Link Text"/>
这将创建一个超链接,其路径自动解析为站点根目录。