簡體   English   中英

server.mappath 將引用的文件路徑解析為相對目錄

[英]server.mappath resolve referenced file path to relative dir

在我的 mvc 應用程序中,我正在嘗試提供這樣的 html 頁面

return File(Server.MapPath("~/Documentation/" + decoded["version"].ToString().Trim() + "/" + "index.htm"), "text/html");

入口點 index.htm 包括一些 js 腳本。

<script type="text/javascript" src="./whver.js"></script>

即使我指定了相對 url,包含的腳本的路徑也會解析到應用程序根目錄。

指定絕對路徑有效,但由於動態生成的目錄名稱,我需要腳本來引用相對位置。

我了解我提供的信息不足。 我認為正在發生的事情是 .htm 文件是從索引控制器返回的,它的路由是應用程序根。 這就是為什么相對路徑是這樣解析的。

我希望如果您將路徑從相對更改為絕對,它會更容易。 絕對路徑以斜杠 - '/' 開頭並顯示您網站的根點。 我的意思是,當您訪問 website.com/index.html 時,您頁面的絕對路徑是 /index.html。

下一個代碼對我有用。 public ActionResult Index() { using (var streamRead = System.IO.File.OpenRead( System.IO.Path.Combine( Server.MapPath("~/Documents"), "index.html"))) { return File(streamRead, "text/html"); } }

和 html 頁面: <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <script type="text/javascript" src="/Scripts/jquery-1.10.2.js" ></script> <script> console.dir("jquery version: " + jQuery.fn.jquery); </script> </body> </html> <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf-8" /> </head> <body> <script type="text/javascript" src="/Scripts/jquery-1.10.2.js" ></script> <script> console.dir("jquery version: " + jQuery.fn.jquery); </script> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM