0

我正在使用 Server.Mappath,需要指定“System.Web.HttpContext.Current.Server”。作为前缀。我不能将其作为包含而不是每次使用“服务器”来执行。这是在类中使用而不是在控制器中使用,因此需要。

控制器代码:

string strMapPath = Server.MapPath("~/XML/");

上课时:

string strMapPath = System.Web.HttpContext.Current.Server.MapPath("~/XML/");

也适用于会话对象的使用:

System.Web.HttpContext.Current.Session["MasterDocument"] = myDoc;

如果我能做这样的事情会很好:

include System.Web.HttpContext.Current;

但不可能。

想法?

谢谢。

4

2 回答 2

3

您可以使用using alias 指令

using Server = System.Web.HttpContext.Current.Server;

这将允许您直接在控制器代码中使用它;

string strMapPath = Server.MapPath("~/XML/");
于 2013-03-06T22:54:20.663 回答
1

这应该工作

public class YourClass
{
    public YourClass()
    {
        Server = System.Web.HttpContext.Current.Server;
    }

    protected HttpServerUtility Server
    {
        get; set;
    }

    public void SomeWork()
    {
        Server.MapPath("somepath");
    }
}
于 2013-03-07T03:51:09.670 回答