我一直在<%和%>中使用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 .....
所以它无效,
任何想法为什么这是幸福的?有工作吗?
答案 0 :(得分:5)
这两种方法仅用于客户端通过Web服务器访问内容的上下文中。要在内部读取文件,需要在应用程序中使用Server.MapPath()或类似的方法来获取磁盘上的物理路径。
答案 1 :(得分:2)
这是对的。我不确定为什么它会添加C:\但MyApp ... \是绝对路径。
您是否尝试过Server.MapPath?
答案 2 :(得分:1)
我遇到类似的问题,链接到一些.css和图像文件。我在http://www.stickfiguresoftware.com/node/46上写了一篇关于此内容的博客文章,可能会有所帮助,甚至还有一些示例代码可供我使用。
不确定这是完美的解决方案,但它对我有用。