2017-07-19 44 views
0

我是一個新手在asp.net和我有asp.net應用程序嵌套母版頁。 (.Net 3.5)我在根目錄下有一個web表單,我將它移到了一個我在根目錄下創建的文件夾。從這一點開始,我開始在Web表單加載時出現「無法使用頂級目錄」的錯誤。我在網上挖掘,我嘗試了前綴「〜」,「/」,「../」,但我無處可去。我的代碼如下。移動的web表單不會加載

<li> 
    <a href=Staff/New_Staff.aspx">Add New Staff</a> 
</li> 

我試圖創建「工作人員」目錄下多了一個網頁的形式,但這種形式也產生在加載相同的錯誤。感謝您的幫助。

+1

爲什麼不使用'asp:Hyperlink'和像'〜/ Staff/New_Staff.aspx'這樣的應用程序根目錄相對URL? – mason

回答

0

如果我沒有錯,你在href中使用雙重代碼。它應該像這樣取決於你的文件夾結構。

<a href="Staff/New_Staff.aspx">Add New Staff</a> 

而且 對於任何人誰發現這個線程,處理相對路徑始終創建爭論,什麼是正確與否。

根據您使用路徑的地址,這取決於您如何處理路徑。

通常:

。和./做同樣的事情,但是你不會使用。與文件名稱。否則,您將使瀏覽器從服務器請求.filename.ext作爲文件。正確的方法是./filename.ext。

../將路徑從當前文件夾上移一級。如果您位於/cheese/crackers/yummy.html路徑中,並且您的鏈接代碼在文檔yummy.html中要求../butter/spread.html,那麼您將處理路徑/奶酪/奶油/塗抹。 HTML,就服務器而言。

/將始終處理網站的根目錄。

0

在ASP.NET Web窗體中,我們通常使用超鏈接服務器控件創建網址爲石匠說。

<asp:HyperLink runat="server" NavigateUrl="~/Staff/New_Staff.aspx" Text="Add New Staff"/> 

如果你不想使用它,你可以手動預置<%= ResolveUrl("~/") %>

<a href="<%= ResolveUrl("~/") %>Staff/New_Staff.aspx">Add New Staff</a>