1

我有 asp.net 网站(使用网络表单)。我有一个名为的类FileHandler,在该类中我想获取站点的根路径。

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

在这里我不能使用它,因为它不是页面。如何获取网站的路径?

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

4

3 回答 3

2

这对我有用:

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

我在与我的一个页面分开的课程中使用了它。通常你不会从 HttpContext 调用它。

于 2013-04-04T13:14:36.440 回答
1

为什么不把它传给其他班级?

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("~"));
于 2013-04-02T05:12:22.690 回答
0

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

public class FileHandler 
{
   public FileHandler(string rootPath)
    {
       // store root path as a property
    }
}
于 2013-04-02T05:12:13.017 回答