如何在c#中获取网站根路径?

时间:2011-09-20 16:13:57

标签: c#

在c#代码中,我需要为图像编写src。有谁知道如何在c#中获取网站根路径?我的文件夹结构是UI / Image 我发现当我使用

string rootpath=Page.Request.ApplicationPath;

如果在调试模型中运行应用程序,它可以工作。但如果通过直接输入url来运行它,它将不会显示图像。图片的属性为http://image/turnon.bmp,应为http://localhost/image/turnon.bmp

有什么想法吗?

4 个答案:

答案 0 :(得分:18)

一种简单的方法是将MapPath~通配符一起使用:

string imagePath = MapPath("~/image/turnon.bmp");

在注释中为Dan Csharpster stated,因为公开Server方法的MapPath对象在类库中不能直接使用,命令应该是

string imagePath = HttpContext.Current.Server.MapPath("~/image/turnon.bmp");

答案 1 :(得分:3)

<强>简单 使用〜符号

因为〜代表你的应用程序的根目录。

所以yourimage url将是

<img    src='<%= Server.MapPath("~/images/1.jpg") '  />

答案 2 :(得分:3)

如果您不在mvc / web表单上下文中,请使用VirtualPathUtility: http://msdn.microsoft.com/en-AU/library/system.web.virtualpathutility.toapprelative.aspx

var siteRoot = VirtualPathUtility.ToAppRelative("~"); 

答案 3 :(得分:1)

当我使用ASP.NET MVC2时,我遇到了同样的问题。你可以用这个:

ResolveClientUrl("~/Content/Icons/loading1.gif")
or  Url.Resolve()