2015-10-24 46 views
0

我正在構建一個應用程序是使用.NET4.5 C#/ ASP.NET的VS Pro 2013。我也使用Bootstrap.min.js和JQuery 2.1.4.in.js.HREF引用自己

我爲某些網頁集創建了一個文件夾結構。從根目錄,它看起來像這樣:

根目錄/文件夾/文件夾/文件夾/ Default.aspx的

我也有具有下拉菜單頁面上的導航欄。在下拉列表中,我已將HREF添加到網頁的文件夾結構中和周圍的其他頁面。

我有兩個鏈接在下拉菜單中引用網頁,就像你期望使用HREF一樣。

的導航欄的代碼是folows:

<li class="dropdown" > 
          <a class="dropdown-toggle" data-toggle="dropdown" style="cursor:pointer">Sites 
           <b class="caret"></b> 
          </a> 
          <ul class="dropdown-menu"> 
          <li><a href="#">View Site Dashboard</a></li> 
          <li><a href="#">View Site Reports</a></li> 
          <li class="divider"></li> 
          <li><a href="#">Set/Edit Site Targets</a></li> 
          <li class="divider"></li> 
          <li><a href="~/EMS/Sites/EditSite/Default.aspx">Edit Site Details</a></li> 
          <li><a href="~/EMS/Sites/Addsite/Default.aspx">Add Another Site</a></li>        
         </ul> 
        </li> 

只有兩個主動聯繫,我把別人了,因爲他們也做同樣的事情。

當我運行應用程序,我所看到的,當我將鼠標懸停在鏈接上的下拉列表已本地主機:端口號/ EMS /網站/ AddSite /〜EMS /網站/ Addsite/Default.aspx的時它實際上應該本地主機:端口#/ EMS /站點/ AddSite/Default.aspx的

它,就好像它已採取aspx文件的當前位置,然後加入HREF連結的端它。由於這個位置不存在,所以它的404。

我已經嘗試改變相對於絕對的路徑和混合的東西,但它不是一個快樂的兔子。

我自己也嘗試在web.config中和routeconfig.cs ...

任何想法的人,我從來沒有過這個來過!

回答

1

任何以協議以外的任何內容(例如,http://)或/開頭的鏈接都將被視爲相對鏈接,即相對於當前頁面。如果您希望鏈接與網站根目錄相關,請使用/~/...

這就是說,根據你對你要做的事情的描述,我不知道你爲什麼使用~;那應該是#

+0

一旦我讀到你的評論,我明白我做錯了什麼。我將路徑更改爲「../EditSite/Default.aspx」。感謝您的信息... –

+0

@TheOrangeGoblin很高興幫助!請記住選擇一個答案! :) –

0

感謝Ed Cottrell讓我走向正確的道路,可以這麼說。

由於在我的文件夾中有嵌套的數量,所以我無法使用相對路徑以及很多嵌套。由於應用程序可能會移動並且仍處於預先制定階段,因此我不想在生成或移動時更改所有HREF,因此不需要這些文件夾。因此,我將所有內容都移到了一個級別上,而不是嵌套網頁所在的文件夾,因此網頁全部位於其自己的文件夾中。這意味着每個頁面都有自己的文件夾,這意味着我不必爲應用程序的這部分內容更改內部HREF。

這讓我可以使用'../Folder/'。我也在IIS中將我的默認頁面設置爲默認頁面。aspx,所以我只需要引用頁面所在的文件夾。

如果我需要退出這部分應用程序,我將不得不提供協議的完整參考(http://somesite/someotherfolder等)。

我認爲是正確的...