繁体   English   中英

如何从另一个类获取网站根路径

[英]How to get website root path from another class

我有asp.net网站(使用Web表单)。 我有一个称为FileHandler的类,并且在该类内部我想获取站点的根路径。

通常,我使用Server.MapPath("~")来获取网页内的路径。

在这里我不能使用它,因为它不是Page。 如何获得该网站的路径?

编辑
有关FileHandler类的更多信息: FileHandler是静态类,我将把站点的根路径分配给satic变量。

这对我有用:

HttpContext.Current.Server.MapPath("YOUR PATH");

我在与我的页面之一不同的类中使用了此方法。 通常,您不是从HttpContext调用它。

为什么不将其传递给另一堂课?

public class FileHandler {
    public string SiteRoot { get; set; }

    // or..
    public FileHandler(string siteRoot) {
        SiteRoot = siteRoot;
    }
}

FileHandler fileHandler = new FileHandler() { SiteRoot = Server.MapPath("~") };
// or..
FileHandler fileHandler = new FileHandler(Server.MapPath("~"));

一种选择是,当您创建FileHandler的对象时,将路径作为构造函数参数传递。

public class FileHandler 
{
   public FileHandler(string rootPath)
    {
       // store root path as a property
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM