在ASP.Net应用程序中执行Server.MapPath的最有效的方法是什么?

前端之家收集整理的这篇文章主要介绍了在ASP.Net应用程序中执行Server.MapPath的最有效的方法是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在构建一个MVC应用程序,其中我正在从文件系统中读取文件列表,并且我想将该文件的相对URL传递给该视图,最好以“〜/”为前缀,以便选择任何视图cab来渲染URL适当

为此,我需要枚举文件系统中的文件并将其物理路径转换回相对URL。我已经尝试了一些算法,但我关心的是效率和最小的字符串操作。另外,我相信在.Net框架中没有什么可以执行这个操作,但最新的MVC版本中有什么可以吗?

解决方法

目前我不知道任何内置的方法来做,但这并不难,我这样做:

>我们需要获取应用程序根目录,并将其替换为我们的新路径〜
>我们需要将反斜杠转换为斜杠

public string ReverseMapPath(string path)
{
    string appPath = HttpContext.Current.Server.MapPath("~");
    string res = string.Format("~{0}",path.Replace(appPath,"").Replace("\\","/"));
    return res;
}

猜你在找的asp.Net相关文章