ASP.NET MVC項目部署發布過程中相對路徑與絕對路徑

2020-12-05 資料庫及DotNet開發

在ASP.NET MVC項目發布過程中,我們可以選擇IIS添加網站或在某個網站下添加應用程式兩種方式進行項目的部署發布。

但是我們在開發過程中,一些大型項目涉及多個子系統,並且集成單點統一登錄的話,如果我們添加多個網站,會使用到很多的埠,一旦遇到一些政務系統的話,由於信息安全等需求,並不能為我們開通那麼多可供外網訪問的Web埠,比較常用的埠是80或者8080等。

那在我們開發ASP.NET MVC項目時,一定要注意項目中圖片、跳轉的連結,一定要使用相對路徑,杜絕使用絕對路徑,否則會出現404無法找到文件錯誤。

作為.NET Web程序開發人員來說,絕對路徑就是在程序代碼中使用了../這樣的符號,相對路徑使用的~,代表當前應用程式的目錄。

接下來,我會舉幾個常見的使用了絕對路徑的錯誤寫法,並且給出相對應正確的相對路徑寫法:

案例1:在視圖頁面中使用了頁面地址跳轉的情形

絕對路徑寫法:

$("#mainFrm",parent.parent.document).attr("src", "../../GreenCar/GreenCar/GreenCarSumAdd?Year=" + year +"&MenuID=@ViewData["MenuID"]");

相對路徑寫法:

var url = "@Url.Action("GreenCarSumAdd ", "GreenCar", new { area = "GreenCar" })? Year =" + year +"&MenuID=@ViewData["MenuID"]";

$("#mainFrm",parent.parent.document).attr("src",url);

案例2:在視圖頁面中js中使用了圖片的情形

絕對路徑寫法:

$("#msgId").attr("src", "../../../Content/images/message1.png");

相對路徑寫法:

var url = "@Url.Content("~/Content/images/message1.png")";

$("#msgId").attr("src",url);

案例3:在視圖頁面中直接寫圖片地址的情形

絕對路徑寫法:

<img src="../../Content/images/logo.png"/>

相對路徑寫法:

<img src="@Url.Content("~/Content/images/ logo.png")"/>

那麼怎麼快速定位到使用相對路徑的文件呢?

我們打開Visual Studio開發環境,打開項目中任意一個視圖頁面,然後Ctrl+F在整個項目中查找全部的包含../的,如下圖所示:

找到所有的cshtml頁面,然後依次打開,逐個按照上面介紹的方法修改完畢即可。

相關焦點

  • 小白了解相對路徑和絕對路徑
    相對路徑和絕對路徑,無論你是html也好還是php、asp、jsp等程序也罷!都會用到這個相對路徑和絕對路徑。從字面意義上看,絕對路徑就是肯定的路徑,相對路徑就是相對於某個事物來說的,比如,相對於太陽來說,地球圍著太陽轉,相對於地球來說,月球圍著地球轉。我們來實際看一下什麼是相對路徑和絕對路徑,爭取一下記住它!
  • HTML之絕對路徑與相對路徑
    路徑指文件存放的位置,在網頁中利用路徑可以引用文件,插入圖像、視頻等。表示路徑的方法有兩種:相對路徑,絕對路徑。以下討論均是在HTML環境下進行。相對路徑相對路徑是指目標相對於當前文件的路徑,網頁結構設計中多採用這種方法來表示目標的路徑。相對路徑有多種表示方法,其表示的意義不盡相同。
  • 分析相對路徑和絕對路徑優缺點對比
    分析相對路徑和絕對路徑的使用技巧及其優缺點對比如何使用絕對路徑絕對路徑指的是絕對位置,完整地描述了目標的所在地,所有目錄層級關係是一目了然的。例如博主想要修改http://www.yinhuafeng.cn/images/weixin.jpg這張圖片,該圖片連結是一個絕對路徑,從圖片路徑可以看到,weixin.jpg圖片是在空間的根目錄下的images文件夾中,可直接前往根目錄images文件夾中就可以找到該圖片,然後下載下來進行修改再覆蓋即可。
  • 你真的了解Java I/O的絕對路徑和相對路徑嗎?
    今天和大家聊一聊絕對路徑和相對路徑:所謂的絕對路徑:通俗一點講 ,他是一個完整的路徑,他是以盤符(比如電腦裡面的c盤,d盤)開始的路徑:c:\\a.txt而相對路徑 :它是一個簡化的路徑相對指的是相對於當前項目的根(C:\\Users\itcast\\IdeaProjects\\shungyuan)如果使用當前項目的根目錄,路徑可以簡化書寫
  • Python學習第171課——相對路徑和絕對路徑
    這節我們補充2個概念:相對路徑和絕對路徑。●絕對路徑就像一棵大樹一樣,從它的根開始,往上會有大的枝幹,在大的枝幹上面又會有小一點的樹枝,小樹枝上面會有更小的枝枝葉葉。同樣的,只要是以系統的根目錄為基準、到一層一層的子目錄的路徑,就是絕對路徑。
  • 2020十號颱風路徑實時發布系統路徑圖 颱風海神最新路徑走勢
    天氣網訊  颱風海神生成之後,整體上趨向日韓一帶,目前人在日本以南較遠的海域移動中。那麼,未來走向如何?一起來看看下面的2020十號颱風路徑實時發布系統路徑圖,分析颱風海神最新路徑走勢。
  • 「路徑」簡介及使用
    在我們的日常實際工作中,經常會需要在網頁中插入圖像等外部文件,此時就需要採用「路徑」的方式來指定文件的位置。路徑可以分為: 絕對路徑和相對路徑。絕對路徑不管源文件在什麼位置都可以非常精確的找到,除非是目標文檔的位置發生變化,否則連接不會失敗。優點:同源端點無關。只要網站的地址不變,無論文檔在站點中如何移動,都可以正常實現跳轉而不會發生錯誤。另外如果希望連結同站點上的其他內容,就必須使用絕對路徑。
  • 11號颱風路徑實時發布系統 颱風紅霞路徑實時發布系統雲圖今天
    受颱風的影響,巴士海峽、南海東部和南部、中沙群島、黃巖島將有6~7級大風的天氣。  預計,「紅霞」將以每小時15~20公裡的速度向西偏北方向移動,17日先後從中沙群島和西沙群島以南海面經過,18日經海南島以南海面趨向越南中部沿海,強度繼續加強,預計最大強度可達颱風級(12~13級,35~40m/s),並將於18日傍晚前後在越南中部沿海登陸,以後逐漸減弱。中央氣象臺9月16日06時發布颱風藍色預警。
  • 颱風路徑實時發布系統8號路徑圖 颱風「巴威」路徑圖實時更新
    天氣網訊  目前8號颱風以每小時10-15公裡的速度向北移動中,從颱風路徑實時發布系統8號路徑圖來看,未來將會影響我國山東半島、遼寧等一帶,登陸上述地區也是有可能的。下面我們一起來看看颱風「巴威」路徑圖實時更新。
  • 19號颱風路徑實時圖今日最新 颱風天鵝路徑實時發布系統最新路徑
    據19號颱風路徑實時圖今日最新,今(2日)11 時位於南海中部海面上。那麼,接下來它要去哪裡呢?根據颱風天鵝路徑實時發布系統最新路徑情況,預計未來將去往越南東部沿海登陸,但屆時強度就沒有登陸菲律賓時的強了,大概8級左右登陸。
  • 基於工作流理論的民用飛機排故路徑
    工作流有助於實現產品設計、審批、修改和生產過程的管理。工作流管理為合作和協調的方式提供有效的平臺,在企業和商業運作過程的分析中取得很大的成功。 分析工作流的前提是將工作流轉化為模型。工作流建模的眾多理論中,Petri網以其嚴格的形式定義、直觀的圖形表示、豐富的系統描述手段和系統行為分析技術等優點成為複雜系統的工作流建模的有效手段。
  • 「謝燦asp.net三層架構」7、原來BLL層中的Manage類這樣寫才正確
    《謝燦asp.net三層架構》系列教程由小燦燦IT首發百度平臺,希望對各位喜歡計算機的同學有所幫助!關注+分享+評論+點讚,是對我們最好的支持!有了您的支持,我們堅信我們會做得更好!業務邏輯層(BLL)主要是針對具體的問題的操作,也可以理解成對數據層的操作,對數據業務邏輯處理。
  • 面試官問spring mvc底層實現流程,該怎麼說?
    DispatcherServlet調用HandlerMapping,HandlerMapping根據請求路徑找到對應的handler。DispatcherServlet:spring mvc的入口,整個框架運行就是在這個servlet中完成。HandlerMapping:處理器映射起。用於映射每個處理方法對應的請求路徑。是一個map結構<url,method>。
  • 全球氣候治理策略及中國碳中和路徑展望
    2021年1月10日,北京理工大學能源與環境政策研究中心在北京舉辦「2021年能源經濟預測與展望研究報告發布會」,公開發布《全球氣候治理策略及中國碳中和路徑展望》研究報告。提要如下,僅供參考。請以原版全文為準。
  • 22號颱風路徑實時圖今日最新 颱風環高路徑實時發布系統最新路徑
    天氣網訊,颱風艾莎尼才剛走沒多久,又來一個颱風生成了,沒想到這一輪的颱風活躍期還是沒有結束,雖然21號颱風艾濤已經生成了,但是還不能放鬆警惕,目前22號颱風還正在醞釀中,而且從22號颱風路徑實時圖今日最新來看,它的發展潛力還是很大的,下面就去看看颱風環高路徑實時發布系統最新路徑吧!
  • 20號颱風路徑圖實時發布 颱風艾莎尼最新路徑圖更新
    天氣網訊  19號颱風離我們逐漸遠去,但20號颱風就要來了,根據20號颱風路徑圖實時發布情況來看,預計6日白天就要進入南海東北部了,這樣一來,對我國的影響也會逐漸顯現出來。那麼,具體未來會去哪裡呢?一起來看看颱風艾莎尼最新路徑圖更新走向。
  • 22號颱風溫州颱風網颱風路徑圖 環高颱風路徑實時發布系統最新路徑...
    天氣網訊,雖然颱風艾莎尼已經消失了,但是海面上的颱風還是依舊很活躍,很顯然今年的颱風季還沒有徹底結束,而且在今天(9日)21號颱風艾濤也生成了,另外還有一個颱風胚胎也正在醞釀當中,也有著很大的概率會影響我國,下面就去看看22號颱風溫州颱風網颱風路徑圖和環高颱風路徑實時發布系統最新路徑預測吧!
  • 我國相對貧困地區高質量發展內涵及綜合施策路徑
    中國網/中國發展門戶網訊 貧困是人類發展面臨的重大挑戰,也是長期困擾包括中國在內的發展中國家的世界性難題,在聯合國 2030 年可持續發展目標(SDGs)中,消除貧困位列 17 項目標之首。相對貧困地區高質量發展的基本內涵一般而言,區域高質量發展是在經濟效益持續增長過程中,生態效益和社會效益基本同步的增長過程,並呈現因地域功能不同而分異出各種發展模式。
  • 「謝燦asp.net三層架構」6、這樣才能真正寫好DAL層中的Service類
    《謝燦asp.net三層架構》系列教程由小燦燦IT首發百度平臺,希望對各位喜歡計算機的同學有所幫助!關注+分享+評論+點讚,是對我們最好的支持!有了您的支持,我們堅信我們會做得更好!資料庫訪問層:又稱為DAL層,有時候也稱為是持久層,其功能主要是負責資料庫的訪問。
  • 颱風路徑實時發布系統​
    颱風實時路徑信息圖 Weixin ID gh_f286d49ca3c8