2012-03-25 98 views
2

我只是新來創建和啓動的網站,我碰到了一個絆腳石。相對和絕對URL與目錄

我有一個分配給它的3個不同域的主機帳戶。每個域都映射到主目錄的一部分。所以它是這樣的:

My Site - 
      -Site1 
      -Site2 
      -Site3 

但我似乎無法使用相同的URL在託管站點本地工作,反之亦然。這是我在一個鏈接中使用的代碼示例:

<asp:MenuItem NavigateUrl="/Default.aspx" Text="Home"/> 

當上傳到主機這工作得很好,但在本地我得到一個錯誤:

HTTP錯誤404 - 未找到。

當我離開關/

<asp:MenuItem NavigateUrl="About.aspx" Text="About"/> 

這將在本地工作,但託管時,我會得到一個錯誤:

Resource cannot be found:
Requested URL: /Site1/Site1/About.aspx

我用〜,../,默認。 aspx等,它會一直工作在一個,但不是其他。我敢肯定,我錯過了一些簡單但卻無法解決的問題。

回答

0

試試這個

<asp:MenuItem NavigateUrl="/ProgectName/About.aspx" Text="About"/> 

或者 服務器端

Menu1.Items.Add(new MenuItem { NavigateUrl = Page.ResolveUrl("About.aspx"), Text = "About"}); 
+0

謝謝您的回答,冒牌貨它仍然不工作,但如果它找到一個解決方案,我會後它。 – Hulaz 2012-04-04 09:20:06

+0

只要有人遇到此問題,我已經解決了這個問題。我使用的是可視化Web開發人員,如上所述,我無法在託管的開發服務器上使用相同的路徑。問題出在VWD中的虛擬路徑上,在解決方案資源管理器中,單擊鏈接網站文件夾本身(圖標顯示一個世界),在屬性部分中將虛擬路徑更改爲/。我知道這可能是顯而易見的,但只要有人遇到類似的問題! – Hulaz 2012-04-15 09:26:42