ASP.NET MVC - 寻找绝对路径从控制器App_Data文件夹 [英] ASP.NET MVC - Find Absolute Path to the App_Data folder from Controller
问题描述
什么是找到一个ASP.NET MVC项目的绝对路径从控制器App_Data文件夹的正确方法?我希望能够使用.xml文件暂时无法工作,我不希望到c的路径硬$ C $。
这不工作:
[的HandleError]
公共类的HomeController:控制器
{
公众的ActionResult指数()
{
字符串路径= VirtualPathUtility.ToAbsolute(〜/ App_Data文件/ somedata.xml);
// ....做什么
返回查看();
}
}
我觉得在网络环境VirtualPathUtility.ToAbsolute()不工作之外。 字符串路径回来为C:\程序App_Data \ somedata.xml
我应该在哪里确定的.xml文件中的MVC应用程序的路径? Global.asax中,贴一个应用程序级的变量?
ASP.NET MVC1 - > MVC3
字符串路径= HttpContext.Current.Server.MapPath(〜/ App_Data文件/ somedata.xml);
ASP.NET MVC4
字符串路径= HttpContext.Server.MapPath(〜/ App_Data文件/ somedata.xml);
MSDN参考:
<一个href="http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath(v=vs.110).aspx">HttpServerUtility.MapPath方法
What is the correct way to find the absolute path to the App_Data folder from a Controller in an ASP.NET MVC project? I'd like to be able to temporarily work with an .xml file and I don't want to hardcode the path.
This does not work:
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
string path = VirtualPathUtility.ToAbsolute("~/App_Data/somedata.xml");
//.... do whatever
return View();
}
}
I think outside of the web context VirtualPathUtility.ToAbsolute() doesn't work. string path comes back as "C:\App_Data\somedata.xml"
Where should I determine the path of the .xml file in an MVC app? global.asax and stick it an application-level variable?
ASP.NET MVC1 -> MVC3
string path = HttpContext.Current.Server.MapPath("~/App_Data/somedata.xml");
ASP.NET MVC4
string path = HttpContext.Server.MapPath("~/App_Data/somedata.xml");
MSDN Reference:
HttpServerUtility.MapPath Method
这篇关于ASP.NET MVC - 寻找绝对路径从控制器App_Data文件夹的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!