2010-01-15 55 views
1

當我右鍵單擊ASP.NET開發服務器時,它說 http://localhost:1394/testing 作爲ROOT URL。這不符合我的代碼。我認爲主要的原因是我的代碼假定它在根文件夾中,並且當情況不是這樣的時候,事情開始中斷。如果我部署了這個網站,那麼這個網站一切正常,但我失去了我的調試功能。有沒有辦法讓它跳過文件夾的名稱(在這種情況下是「測試」)?visual studio調試 - url包含文件夾名稱 - 打破我的代碼

我正在使用虛擬URL。東西在虛擬URL上打破,而不是靜態的。 (但虛擬url在部署時工作正常,並確保它在根文件夾中,否則它將無法工作。)

這是我在虛擬url上遇到的問題。圖像被破壞,如果我右鍵點擊它們,它會列出沒有文件夾名稱http://localhost:1394/images/xyz.jpg而不是http://localhost:1394/testing/images/xyz.jpg的網址。如果我點擊一個asp:按鈕,它會回傳到http://localhost:1394/storecategory/virtualcategory.aspx而不是http://localhost:1394/testing/storecategory/virtualcategory.aspx。所以,你看到它正在吃掉網址的測試,所以我想看看是否有一種方法可以使http://localhost:1394/成爲url而不是http://localhost:1394/testing/

請讓我知道這是否令人困惑。

回答

4

是的。

如果要構建Web站點項目,請在解決方案資源管理器中單擊應用程序名稱,然後在屬性窗格中找到「虛擬路徑」屬性。刪除文件夾名稱,只留下/

如果您正在構建Web應用程序項目,請轉至「屬性」|「屬性」|「 [Project Name] Properties ...打開「Web」窗格,並確保「虛擬路徑」值設置爲/

1

引用本地(相同)站點時,您不應在我們的aspx文件中使用完全限定的地址。您應該使用「〜/」,這是相對於站點根目錄。因此,如果您要參考的頁面是test.aspx在站點子文件夾訂單中,您將使用此字符串作爲鏈接:"~/orders/test.aspx"。在代碼隱藏和直接在aspx頁面定義中都是如此; ASP.NET引擎將負責根據您的站點已安裝到的站點或虛擬服務器將該地址轉換爲正確的地址。

例如,你的dev的系統上,如果你的根是http://localhost:1394/testing和生產系統根是http://company.com然後從相同的相對串中產生的相應的URL將http://localhost:1394/testing/orders/test.aspxhttp://company.com/orders/test.aspx

+1

但那麼原始或動態生成的HTML中的URL呢? –

相關問題