2009-10-26 19 views
0

我有硬編碼的URL到我的HTML的一個習慣:尋求全局變量來定義根URL

...<a href="www.mySite.com/login">logon to your account.</a> 

在開發過程中,當我想針對特定的web應用程序的版本,我將全局搜索/替換「WWW .mySite'與'myDev.mySite'類似。

由於這種做法已成爲習慣性的,我不能清楚地記得,如果有一個摔死的好理由,我不使用相對地址,或者我只是持續愚蠢。

我想這個.net有一些類似於我們定義連接字符串的方式,我可以將一個根URL定義爲一個全局變量,但目前爲止還沒有找到該功能。

回答

3

在ASP.NET MVC中,使用

<a href='<%=Url.Action("Login")%>'>login</a> 

它會自動生成作品的URL。

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"/> 

這將創建一個自動解析到站點根的路徑的超鏈接。