簡體   English   中英

ASP.NET MVC:將虛擬路徑轉換為實際路徑是錯誤的

[英]ASP.NET MVC: converting virtualpath to actualpath is wrong

我在視圖中一直在<%和%>內使用Url.Content,並且似乎一切正常。然后從使用控制器開始,我嘗試了以下操作,但始終返回錯誤的路徑

 XDocument xdoc = XDocument.Load(Url.Content("~/content/xml/faq.xml"));

 XDocument xdoc = XDocument.Load(VirtualPathUtility.ToAbsolute("~/content/xml/faq.xml"));

基本上,路徑應為c:\\ Vs2008 \\ Source \\ MyAppName .....

但返回的c:\\ MyAppName .....

所以它無效

任何想法為什么會這樣? 有沒有解決的辦法?

這兩種方法僅用於在通過Web服務器訪問內容的客戶端中使用。 要在內部讀取文件,需要在應用程序內使用Server.MapPath()或類似方法來獲取磁盤上的物理路徑。

沒錯 我不確定為什么要添加C:\\,但是MyApp ... \\是絕對路徑。

您是否嘗試過Server.MapPath?

我在鏈接到某些.css和圖像文件時遇到了類似的問題。 我在http://www.stickfiguresoftware.com/node/46上寫了一篇博客文章,這可能會有所幫助,甚至包含一些我可以使用的示例代碼。

不確定這是否是完美的解決方案,但對我來說確實可行。

暫無
暫無

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

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