查找web应用程序的根目录

本文关键字:根目录 应用程序 web 查找 | 更新日期: 2023-09-27 18:01:00

我正试图在服务器上找到一个根文件夹。没有任何工作,或者工作错误

@{
        string [] list = Directory.GetFiles(Directory.GetCurrentDirectory());
        foreach(var item in list)
        {
            <p>@item</p>   
        }
    }

显示我不需要的

@{
        string [] list = Directory.GetFiles("~/");
        foreach(var item in list)
        {
            <p>@item</p>   
        }

}

不起作用

如何解决这个问题?

查找web应用程序的根目录

您可以使用以下内容:

Server.MapPath("~");

~始终是ASP.NET应用程序中的根。如果将其插入Razor视图,它将被转换为"外部访问"的适当路径,例如,如果站点位于根目录中,则~/Content/site.css将转换为/Content/site.css;如果站点位于名为Page1的虚拟目录中,将转换为例如/Page1/Content/site.css。因此,要获得绝对的路径,你需要"映射它"。

如果您没有访问Server的权限,也可以使用HostingEnvironment.ApplicationPhysicalPath

尝试

Server.MapPath("~");

或:

HostingEnvironment.ApplicationPhysicalPath 

参考http://msdn.microsoft.com/en-us/library/ms178116.aspx.为了你的方便,我修改了你的代码:

string [] list = Directory.GetFiles(Server.MapPath("~"));
        StringBuilder sb=new StringBuilder();
        foreach (var item in list)
        {
            sb.Append(item + "'n");
        }
        Response.Write(sb);

尽管我正在给你答案,但我还是建议你尝试在web.config或数据库中配置路径,因为修复路径就像对登录ID进行硬编码一样:(。希望你能抓住我。

感谢