加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 18:41:37 所属栏目:asp.Net 来源:网络整理
导读:我正在构建一个MVC应用程序,其中我正在从文件系统中读取文件列表,并且我想将该文件的相对URL传递给该视图,最好以“?/”为前缀,以便选择任何视图cab来渲染URL适当 为此,我需要枚举文件系统中的文件并将其物理路径转换回相对URL。我已经尝试了一些算法,
我正在构建一个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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读